首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Entity Framework中,可以在生成模型后将外键属性添加到[Table Name] Entity中吗?

在Entity Framework中,可以在生成模型后将外键属性添加到[Table Name] Entity中吗?
EN

Stack Overflow用户
提问于 2017-06-07 08:26:59
回答 1查看 475关注 0票数 0

我们有一个已经建立了超过x年的大型实体模型,我想知道以下情况是否可能:我们有很多旧的实体,我们没有直接将外键暴露给其他表,但它们在实体框架中有关联。也就是说,表1与表2有一对多的关系,表2在数据库表上有一个Table1_ID字段,但我不能从我的C#/实体框架代码中访问它。有没有一种干净的方式来显示/添加这个,而不删除和读取关联?这是在Model First实体框架中

EN

回答 1

Stack Overflow用户

发布于 2017-06-07 08:37:21

您可以使用数据注释并在Table2模型上添加属性:

代码语言:javascript
复制
using System.ComponentModel.DataAnnotations.Schema;
...
[Column("Table1_ID")]
public int Table1Id { get; set; }

如果您使用的是fluent api,可以这样配置:

代码语言:javascript
复制
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Table2>() 
        .Property(t => t.Table1Id) 
        .HasColumnName("Table1_ID");
}

然后创建一个新的迁移并删除UpDown函数中的所有内容。

代码语言:javascript
复制
public partial class Add_Table1_Reference_To_Table2_Model : DbMigration
{
    public override void Up()
    {
    }

    public override void Down()
    {
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44401665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档