我对实体框架的Code First方法相对较新.我已经使用了Database First方法一段时间了,但Code First似乎更适合我目前正在开发的应用程序.我正在使用现有的MS SQL数据库,我不允许对数据库进行任何更改.我使用Code First的原因是因为Fluent API允许我动态地为表分配一个表名.
也就是说,我有一个困境,我需要在两个表之间分配关系.一个表ArCodes具有由CodeType和Code组成的复合键(两者都是字符串).CodeType列确定代码类型,Code列是代码类型唯一的标识符.
public class ArCode {
[Column("cod_typ", Order = 0), Key]
public string CodeType { get; set; }
[Column("ar_cod", Order = 1), Key]
public string Code { get; set; }
[Column("desc")]
public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
另一个表,Invoices,需要与ArCodes表关联"ship via"代码和"terms"代码.
public class Invoice {
[Column("pi_hist_hdr_invc_no"), Key]
public int InvoiceNumber { get; set; }
[Column("shp_via_cod")]
public string ShipViaCode { get; set; }
public ArCode ShipVia { get; set; }
[Column("terms_cod")]
public string TermsCode { …Run Code Online (Sandbox Code Playgroud)