我正在为会计软件(C# Winforms)设计一个在线商店(ASP.NET Core 6)。
我使用 ASP.NET Core 和 Razor 页面开始此操作。
我是这个领域的新手,缺乏经验。会计软件在SQL Server中有很多表,这些表之间是相互关联的。 我尝试仅对我的项目所需的表格进行建模。
但是当与所需的表通信时,出现以下错误:( .
列名“MobileNo”无效。
列名称“BankAccountNumber”无效。
列名称“BankBranch”无效。
列名称“出生日期”无效。
列名“BrithLocation”无效。
....
我知道这个错误是由于所需表与其他表的关系造成的。
因为在其他类似的情况下,当我定义第二个表和关系时,这个错误就解决了。
....
public string UserID { get; set; }
....
[ForeignKey(nameof(UserID))]
public virtual SalCustomer users { get; set; }
....
但是我遇到了一个与其他表(不需要的表)非常相关的表。
我觉得创建额外的模型是不对的,我不喜欢将它们添加到我的项目中。
EF中有没有办法忽略关系?不会导致会计软件出现问题?
因为我的项目中不需要这些关系。
例如:
客户表和税务单据表或支票表之间的关系......表太多了。
即使我不需要它们,在我的项目中创建所有表是否更好?
生成此错误的代码示例。
var accPerson = _context.AccPerson.SingleOrDefault(c => c.mobileNo == SD.userPh1);
我为我糟糕的英语表示歉意,并提前感谢您的宝贵意见。
我读了这篇文章 但我认为这些关系将被完全删除,这可能会导致会计软件出现问题。 我无法对数据库进行任何更改。 因为很多公司和软件都在使用这个数据库。
正确的选择可能是创建一个 EF 项目首先创建数据库。 Visual Studio 将为您生成模型。因为您无法更新数据库行而忽略关系:您将在外键属性中放入哪些值?