2016-01-29 54 views
-2

我真的想用EF为我的项目,但我有一些麻烦搞清楚如何使用代码,第一种方法,如果我想在DB来实现这一点:如何在EF代码优先实现这个关系模型?

Posts 
============================================================================ 
Id :int | Title :string | Author :string | Date : datetime| Content :string 
============================================================================ 

Tags 
============= 
Name :string 
============= 

PostTags 
=============================== 
Post_Id :int | Tag_Name :string 
=============================== 

ReadBy 
=============================== 
Post_Id :int | Reader_Name :string 
=============================== 

有人能帮助我我应该如何使用代码优先的EF来做到这一点?

我不知道如何创建Tags表,因为它只有原始类型,我不知道如何定义这些M2M映射PostTagsReadBy

我知道关系设计非常简单,因为它大多使用原始数据类型,在其他情况下,我只是手动创建了我的DAL,但我想先使用EF代码,因为我知道我会受益于它将来会在应用中添加更多功能。

非常感谢您的帮助!

回答

4

这将是我的做法,您的问题:

public class Post 
{ 
    public int Id { get; set; } 
    public string Title { get; set; } 
    public string Author { get; set; } 
    public DateTime Date { get; set; } 
    public string Content { get; set; } 
    public virtual List<Tag> Tags { get; set; } 
    public virtual List<Reader> Readers { get; set; } 
} 

public class Tag 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual List<Post> Posts { get; set; } 
} 

public class Reader 
{ 
    public int Id { get; set; } 
    public int Name { get; set; } 
    public virtual List<Post> Posts { get; set; } 
} 

最终结果: enter image description here