1
我有這樣的問題:實體框架問題
有兩個entyties具有一一對應的關係,它們的啓動具有相同的ID列名
Document_head sales_Order +-----------------+ +------------------+ + DocumentId + + DocumentId + + Person + 1-----1 + OrderDate + + Status + + Purchaser + + ... + + ... + + ----------------+ +------------------+
下面是實體定義
public partial class Document_head
{
public Document_head()
{
// Other
}
[Key]
public string DocumentId {get;set;}
public int PersonId {get;set;}
public int status {get;set;}
[ForeignKey("DocumentId")]
public virtual sales_Order sales_Order { get; set; }
}
public partial class sales_order
{
public sales_order()
{
//Other
}
[Key]
public string DocumentId { get; set; }
public virtual Document_head Document_head { get; set; }
}
這裏是背景
public class MyContext : DbContext
{
public DbSet Document_head Document_head{ get; set; }
public DbSet<sales_order> sales_order{ get; set; }
modelBuilder.Entity<Document_head>()
.HasOptional(p => p.sales_order).WithRequired();
modelBuilder.Entity<sales_order>()
.HasRequired(p => p.Document_head).WithOptional();
}
問題是運行MVC3應用程序時。
它說:
列名 「Document_Head_DocumentId」 是無效的。
我花了很多時間在這種情況下,如果有人可以幫助我這個..將不勝感激。
+1對此答案,我強烈建議您使用流暢的api而不是數據註釋,因爲前者具有更多的功能。 – Oybek 2012-02-10 12:27:15
很快你的答案.....我做了更改..但問題仍然存在......爲什麼:public DbSet sales_order {get;組; }而不是公共DbSet <sales_order> sales_order {get;組; } – 2012-02-10 13:27:30
@JuanPabloGomez它不清楚你對評論的看法。你能否更新你的問題 – Eranga 2012-02-10 14:20:01