Yve*_*lpe 2 .net c# entity-framework entity-framework-core
使用EF Core Migrations时,工具不会获取我的所有属性,只有"Id"和一些(不是全部)FK(导航属性).它似乎也非常理解"每个层次结构表" - 因为它设置了我想要的鉴别器,但是迁移文件本身并不反映我在模型命名空间中的属性(参见github代码).
我的DbContext位于:https://github.com/aredfox/TheConference/blob/master/InfoBooth/TheConference.InfoBooth.Data/InfoBoothContext.cs 我的模型类在这里:https://github.com/aredfox/TheConference/树/主/ InfoBooth/TheConference.InfoBooth.Core /型号
您可以在[ https://github.com/aredfox/TheConference/blob/master/InfoBooth/TheConference.InfoBooth.Data/Migrations/20170604125116_Initial.cs ] 查看生成的"初始迁移" .在那里你会看到它检测到所有Id属性(在基类中定义[Entity][1]),但没有检测到我的Model类的其他属性.
我使用添加控制台应用程序来运行迁移的方法(否则它将无法工作 - 请参阅Julie Lerman关于开始使用EF Core 的提示).因此,在运行迁移时,我这样做:dotnet ef --startup-project ../../TheConference.Infrastructure.ConsoleApp migrations add Initial.
我是否必须在EFCore中使用注释或modelBuilder或EntityTypeConfiguration形式让EF知道我想要采取什么?.
你所有的类属性都是这样的
public string Title { get; }
Run Code Online (Sandbox Code Playgroud)
即只读自动属性.
EF Core不支持(映射)此类属性.为了映射它们,您需要提供属性设置器
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
访问级别并不重要- private,protected或internal将工作.唯一的要求是有一个二传手.
EF Core还允许映射属性和使用支持字段,但所有这些都需要流畅的API配置,并且很可能不能使用仅获取自动属性,因为它们支持readonly字段.
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |