gpt4 book ai didi

c# - 使用 Fluent API 为没有导航属性的实体定​​义外键

转载 作者:行者123 更新时间:2023-11-30 22:05:12 25 4
gpt4 key购买 nike

我首先使用实体​​框架代码。

我有一个类 PostUser 相关联:

public class User
{
public int Id { get; set; }
public string Name { get; set; }
}

public class Post
{
public int Id { get; set; }
public string Text{ get; set; }
public int UserId { get; set; }
public virtual User User { get; set; }
}

上面的代码正确地为User 生成了主键(Id),为Post 生成了外键(UserId) > 由于 Code First 约定。

但是,如果我不想在 Post 类中使用导航属性 (User) 怎么办?删除那个

public virtual User User { get; set; } 

帖子自动生成外键的结果。

这可以用 Fluent API 完成吗?

最佳答案

可以从对方建立关联:

public class User
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Post> Posts { get; set; }
}

如果您不想要 Posts 属性,答案是:不,您不能。原因是 EF 必须能够跟踪对象模型中的关联,以便在插入 Post 对象时插入正确的外键值。

此外,如果没有至少一个导航属性,您将无法在代码中关联 PostUser

添加

我忘了说,EF 以代码优先的方式查看类模型中的关联,以在数据库中创建外键。

关于c# - 使用 Fluent API 为没有导航属性的实体定​​义外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24524091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com