如何在Entity Framework Core中设置实体关系

Ale*_*lex 8 c# entity-framework-core .net-core asp.net-core ef-code-first-mapping

这里我们在EF Core上有3个表:

  1. 新闻
  2. 项目
  3. 链接

还有更多(新闻,项目除外):内容,帖子,表格等

和我的模型定义

public class Item
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public Link Link { get; set; }
}

public class News
{
    public int Id { get; set; }
    public string Header { get; set; }
    public string Content { get; set; }
    public Link Link { get; set; }
}

public class Link
{
    public int Id { get; set; }
    public string Type { get; set; }
    public int RowId  { get; set; }
    public string Url { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Links描述了每个新闻和每个项目的URL.这意味着Links有4列:

  1. ID
  2. 类型 - 新闻或项目
  3. RowId - 包含项目或新闻的ID(取决于类型)
  4. 网址

如何建立关系?请记住,我们需要在Links表中按URL解析实体.

Ale*_*lex 1

衣冠楚楚。只是 Dapper 允许编写自定义查询。