实体框架4.1代码优先映射问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实体框架4.1代码优先映射问题相关的知识,希望对你有一定的参考价值。

我正在使用实体框架4.1和代码优先映射。

public class Account
{
    public Int AccountId {get;set};
    public string Name {get;set};
    public int? ProfileId {get;set;}
    public virtual Profile {get;set;}

}

public class Profile
{
    public int ProfileId {get;set;}
    public DateTime Created {get;set;}
    public virtual Account {get;set;} // navigation back to account
}

public AccountMapper()
{
    ToTable("..")
    HasKey(x => x.AccountId);
    HasOptional(x => x.Profile).WithRequired(x => x.Account) // invalid column exception
    // Try HasOptional(x => x.Profile).WithRequired(x => x.Account).Map(x => x.MapKey("ProfileId")) // rror 0019: Each property name in a type must be unique. Property name 'ProfileId' was already defined.
}

public ProfileMappeR()
{
    ToTable("..")
    HasKey(x => x.ProfileId);
}

嗯,问题很简单:你在哪里做错了?

谢谢,马丁。

答案

一对一的关系有点特殊,首先是代码。这是一篇很好的博客文章:

http://weblogs.asp.net/manavi/archive/2011/05/01/associations-in-ef-4-1-code-first-part-5-one-to-one-foreign-key-associations.aspx

干杯

以上是关于实体框架4.1代码优先映射问题的主要内容,如果未能解决你的问题,请参考以下文章

实体框架 4.1 代码优先映射到将主键作为外键列的表

实体框架 4.1 代码优先外键 ID

实体框架4.1代码优先中的一对多关系

如何在实体框架中映射 CONTAINSTABLE 函数(代码优先)?

添加新实体标量时实体框架 4 映射片段错误

实体框架代码优先 - 为 SqlQuery 配置映射