我們有一個已經建立了x年的大型實體模型,並且我想知道以下是否可能: 我們有很多舊實體,我們不直接將外鍵暴露給其他表,但他們在實體框架中有聯繫。即表1與表2具有一對多的關係,表2在數據庫表上有一個Table1_ID字段,但我無法從我的C#/ Entity Framework代碼中訪問它。有沒有一種乾淨的方式來顯示/添加這個而不刪除關聯並讀取它? 這是在型號第一實體框架在實體框架中,是否可以在生成模型後「將外鍵屬性添加到[表名] Entitiy」?
0
A
回答
1
您可以使用數據標註和您Table2
模型添加屬性:
using System.ComponentModel.DataAnnotations.Schema;
...
[Column("Table1_ID")]
public int Table1Id { get; set; }
如果您使用的是一口流利的API,你可以配置它這樣的:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Table2>()
.Property(t => t.Table1Id)
.HasColumnName("Table1_ID");
}
然後創建新遷移並刪除Up
和Down
函數中的所有內容。
public partial class Add_Table1_Reference_To_Table2_Model : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
相關問題
- 1. 代碼生成:將主鍵/外鍵添加到實體框架
- 2. 將屬性添加到實體框架模型
- 3. 將屬性添加到實體框架自動生成的屬性
- 4. 實體框架模型和外鍵屬性
- 5. 將文檔添加到實體框架模型中的生成代碼中
- 6. 實體框架不生成ApplicationUser外鍵
- 7. 實體框架3.5不添加模型中的所有屬性
- 8. 什麼是「將外鍵屬性添加到ENTITY實體」呢?
- 9. 實體框架如何將模型中的屬性識別爲外鍵? DBFirst
- 10. 如何將視圖添加到實體框架實體模型?
- 11. 在實體框架POCO模板中添加[DataMember] [DataContract]屬性
- 12. ADO.NET實體框架我看不到模型中的外鍵屬性
- 13. 將屬性添加到實體框架數據庫第一個生成的類
- 14. 實體框架6添加外鍵
- 15. 實體框架添加現有外鍵
- 16. 實體框架5不添加外鍵
- 17. 將屬性添加到框架後代
- 18. 將實體框架添加到模塊
- 19. 使用實體框架數據模型添加驗證屬性
- 20. 實體框架5添加屬性以加入表
- 21. 自動在實體框架中生成實體(如果將表添加到模式中)
- 22. 在實體框架中添加屬性到關聯5
- 23. 實體框架4模型生成
- 24. 是否可以將globalize3添加到外部ActiveRecord模型類中?
- 25. 實體框架:在運行時添加屬性/實體
- 26. 我應該在域模型中爲實體框架添加一個屬性嗎?
- 27. 如何首先在實體框架模型中添加關係屬性?
- 28. 是否可以手動生成實體框架AspNet Identity的UserId?
- 29. MVVM綁定到實體框架中的外鍵屬性
- 30. 我可以獲得實體框架(模型優先)生成組合鍵嗎?
*但我無法從我的C#/實體框架代碼中訪問*爲什麼不呢?如果這是數據庫優先的(我不認爲它是第一個模型,因爲你生成了EDMX?),這個列應該是EDMX的一部分,不是嗎? –
@GertArnold當添加關聯時,公開生成的列是可選的,這是由別人編寫的舊代碼,並沒有包含該屬性,所以它在生成的表上,但我不能做Table2.Table1_ID,我只能做Table2表1這意味着我需要包括該表來查詢它,當我只需要ID字段。 –
我的根本問題是,你不能改變代碼嗎?在類模型中顯示原始FK屬性(外鍵關聯vs獨立關聯)要容易得多。 –