1
我正在使用代碼優先方法來基於模態和數據庫上下文類創建數據庫。問題是,當我創建一個模型和下一個模型之間的關係並運行代碼時,數據庫會像它應該那樣生成外鍵。使用外鍵在實體中創建關係
如何我想要的關係,與出外鍵。這可能與實體框架和代碼優先方法有關嗎?
例如:
namespace LocApp.Models
{
public class Location
{
public int id { get; set; }
[Required]
public string name { get; set; }
[Required]
public string address { get; set; }
[Required]
public string city { get; set; }
[Required]
public string country { get; set; }
[Required]
public string province { get; set; }
[Required]
public string phone { get; set; }
public string fax { get; set; }
public bool active { get; set; }
public virtual ICollection<LocationAssignment> LocationAssignment { get; set; }
}
}
有關係:
namespace LocApp.Models
{
public class LocationAssignment
{
public int id { get; set; }
public int locationID { get; set; }
public int serviceID { get; set; }
public int productID { get; set; }
public int personID { get; set; }
public virtual Location Location { get; set; }
public virtual Service Service { get; set; }
public virtual Product product { get; set; }
public virtual Person person { get; set; }
}
}
正如你可以看到這個表將與位置表生成的外鍵。如何保持這種關係WITH OUT外鍵的生成?
爲什麼你不想要外鍵? – 2013-04-20 20:11:42
,因爲顯然公司並不知道如何管理數據庫,只會在產品交付後放棄所有外鍵約束,這會破壞或破壞應用程序。所以我正在嘗試使用不生成外鍵的代碼優先方法創建表。然而,保持關係 – TheWebs 2013-04-20 20:14:23
這是最奇怪的使用代碼首先我聽到:)但有趣的 - 所以你實際上不希望'FK-s'在數據庫生成的權利? (不僅僅是在您的POCO中顯示爲一個屬性)。 – NSGaga 2013-04-20 21:13:11