小编Kee*_*all的帖子

首先是文字或常量作为EF代码中复合键的一部分

我对实体框架的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)

entity-framework ef-code-first entity-framework-4.1

7
推荐指数
1
解决办法
2196
查看次数