相关疑难解决方法(0)

实体框架导航属性生成规则

我想知道实体框架在导航属性的命名/生成方面遵循的规则.我观察过几个似乎没有意义的场景,所以我想知道是否有人确切知道这些是如何工作的.

场景1:

public class Post
{
    public int Id { get; set; }
    public User Author { get; set; }
} 
Run Code Online (Sandbox Code Playgroud)

   生成

场景1

即.默认情况下,导航属性会生成名为[PropertyName] _Id的FK

场景2:

有意义的是,如果EF在您手动指定FK ID时生成格式[PropertyName] _Id等属性,则它将遵循相同的规则:

public class Post
{
    public int Id { get; set; }
    public int? Author_Id { get; set; }
    public User Author { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

   生成

情景2

如您所见,这不会自动注册为nav属性.

场景3:

如果它不适用于场景2,为什么它适用于备用命名约定?

public class Post
{
    public int Id { get; set; }
    public int? AuthorId { get; set; }
    public User Author { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

12
推荐指数
1
解决办法
6250
查看次数

标签 统计

c# ×1

entity-framework ×1