我使用EF4.3創建1至1間... 0的關係,但它扔EF4.3創建一對一或零關係失敗
異常「操作失敗,因爲索引或與名稱統計 'IX_id' 已經在表 'TestAs'」
的代碼存在如下
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (myContext context = new myContext())
{
TestA tA = new TestA();
TestB tB = new TestB();
TestC tC = new TestC();
context.testA.Add(tA);
context.testB.Add(tB);
context.testC.Add(tC);
context.SaveChanges();
}
}
}
class TestA
{
public int id { get; set; }
//public TestB NavB { get; set; }
//public TestC NavC { get; set; }
}
class TestB
{
public int id { get; set; }
public TestA NavA { get; set; }
}
class TestC
{
public int id { get; set; }
public TestA NavA { get; set; }
}
class myContext : DbContext
{
public DbSet<TestA> testA { get; set; }
public DbSet<TestB> testB { get; set; }
public DbSet<TestC> testC { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TestB>().HasOptional(x => x.NavA).WithRequired();
modelBuilder.Entity<TestC>().HasOptional(x => x.NavA).WithRequired();
}
}
}
任何人都可以幫助嗎?通過WithOptionalPrincipal
在OnModelCreating
方法
哪個實體是這裏的原理? – Eranga 2012-03-05 09:26:33
嗨Eranga,TestB和TestC是原理實體 – James 2012-03-05 09:32:13
Then'TestA'不能與共享主鍵映射。該模型是無效的(實際) – Eranga 2012-03-05 12:14:16