在我的專案中,我有一個Client物體。該物體使用Address類,而后者又不是物體。
public class Client{
public int Id { get; set;}
public string Name { get; set;}
public Address Address { get; set;}
}
public class Address {
public string City { get; set;}
public string Country { get; set;}
}
在 Address 類中輸入的資料將保留在 Client 物體中。地址類僅用于代碼組織和重用。
上傳物體框架核心背景關系時,出現以下錯誤:
物體型別“地址”需要定義一個主鍵。如果您打算使用無鍵物體型別,請在“OnModelCreating”中呼叫“HasNoKey”。有關無密鑰物體型別的更多資訊,請參閱 https://go.microsoft.com/fwlink/?linkid=2141943。
地址未在背景關系中映射為 DbSet,但物體嘗試映射它。為什么?有沒有人經歷過這種情況?
我如何讓物體理解類 Address 只是類 Customer 的補充,而不是物體本身。
uj5u.com熱心網友回復:
地址未在背景關系中映射為 DbSet,但物體嘗試映射它。為什么?
因為它是物體的一個屬性,所以默認會被映射。
按照慣例,在背景關系的 DbSet 屬性中公開的型別作為物體包含在模型中。還包括在 OnModelCreating 方法中指定的物體型別,以及通過遞回探索其他已發現物體型別的導航屬性找到的任何 型別。
物體型別
將其標記為擁有型別,它將被映射到擁有物體的表上的列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/399927.html
標籤:sql-server 实体框架核心
