Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 仅使用代码拆分实体_.net_Entity Framework_Entity Framework 4_Code First - Fatal编程技术网

.net 仅使用代码拆分实体

.net 仅使用代码拆分实体,.net,entity-framework,entity-framework-4,code-first,.net,Entity Framework,Entity Framework 4,Code First,如果两个表都不包含主键,那么它们是否只是一种使用实体框架代码来拥有两个表字段的实体的方法 这里有一个例子 public class BlogPost { public int PostID { get; set; } public String PostBody { get; set; } public int UserID { get; set; } public string Username { get; set; } } public class Use

如果两个表都不包含主键,那么它们是否只是一种使用实体框架代码来拥有两个表字段的实体的方法

这里有一个例子

public class BlogPost
{
    public int PostID { get; set; }
    public String PostBody { get; set; }
    public int UserID { get; set; }
    public string Username { get; set; }
}

public class User
{
    public int UserID { get; set; }
    public String Username { get; set; }
}

public class BlogPostConfiguration : EntityConfiguration<BlogPost>
{
    public BlogPostConfiguration()
    {
        HasKey(b => b.PostID);
    }
}

public class UserConfiguration : EntityConfiguration<User>
{
    public UserConfiguration()
    {
        HasKey(b => b.UserID);
    }
}
公共类BlogPost
{
公共int PostID{get;set;}
公共字符串PostBody{get;set;}
public int UserID{get;set;}
公共字符串用户名{get;set;}
}
公共类用户
{
public int UserID{get;set;}
公共字符串用户名{get;set;}
}
公共类BlogPostConfiguration:EntityConfiguration
{
公共博客后配置()
{
HasKey(b=>b.PostID);
}
}
公共类用户配置:EntityConfiguration
{
公共用户配置()
{
HasKey(b=>b.UserID);
}
}

我希望BlogPost对象的Username属性映射到User表的Username列。我可以使用设计器使用外键进行映射,但我不确定如何仅使用代码进行映射。我尝试在我的配置对象中使用两个MapHierarchy语句,但看起来只有当两个表都使用相同的主键时,它才起作用。

我认为这在实体框架的当前状态下是不可能的

为了进行实体拆分,必须有1对1的映射(主键必须在两个表中)


我的任务假设是错误的,因为您可以从设计器中的第二个表中添加列,因此代码实际上可以工作。我在尝试在EDMX中进行映射时遇到了与仅使用代码时类似的错误。

您看过pdc09中关于EF的演示吗?如果没有,请看一看。谢谢Alexander,该视频很棒,但不幸的是,它没有解决实体拆分问题。强烈推荐进入EF的人观看。