我一直在阅读足够的关于其他问题的主题,但它似乎并不像我能找到与我的设置类似的人。未在模型中暴露的子对象中的实体框架外键
我有一个文件类,与ShareFileRecipients
public HashSet<SharedFileRecipient> Recipients { get; set; }
EF的一个HashSet(第5版)映射此完美,这不是问题,在数据库中的表dbo.SharedFileRecipient具有外键为此关系“File_Id”生成的列未在SharedFileRecipient类中公开。
这是昨天没有问题,我不得不写一个查询,我不得不加入两个(因为我希望重复一个特定的视图),但我不能使用LINQ,因为File_Id不在SharedFileRecipient中公开。
我尝试使用ForeignKey的注解时,ColumnName注释
[Column("File_Id")]
public Guid? File_Id { get; set; }
[Column("Folder_Id")]
public Guid? Folder_Id { get; set; }
但应用程序将引发异常EF,称该模型已经改变。当我运行“添加迁移”查看“需要”执行哪些更改时,生成的脚本实际上是试图进入数据库,并将已存在的列名从File_Id更改为File_Id1。
我回复了我的更改,我确定更改列名称就像什么都不会做,但会破坏原始关系设置,这已经可以工作了。
我只是真的想能够使用未公开的File_Id Guid列,因此我可以在LINQ中编写我的查询,就是这样。