簡體   English   中英

如何在實體框架中為外鍵指定表?

[英]How do I specify table for foreign key in entity framework?

我僅閱讀過的教程中的所有示例都只顯示2個表,因此我對在以下情況下的操作感到困惑。

可以說我們有3類:

public class Product
    {
        public int id { get; set; }
        public string name { get; set; }
        public string skuA { get; set; }
        public string skuB { get; set; }

        public virtual SupplierA supplierA { get; set; }
        public virtual SupplierB supplierB { get; set; }
    }
public class Supplier A
    {
        public int id { get; set; }
        public string name { get; set; }
        public string sku { get; set; }
        public int price { get; set; }
    }
public class Supplier B
    {
        public int id { get; set; }
        public string name { get; set; }
        public string sku { get; set; }
        public int price { get; set; }
    }

如果我們需要加入適當的產品sku字段,那么使用我在教程中看到的數據注釋,它最終看起來像這樣:

[ForeignKey("sku")]
public string skuA { get; set; }
[ForeignKey("sku")]
public string skuB { get; set; }

實體框架如何知道我們要注釋的哪個外國“ sku”字段? 每個外鍵都必須命名不同嗎? 我想如果我們有一百個供應商,這將變得很尷尬。

是否有一些其他參數或標記來處理? 任何建議都值得贊賞,因為我發現這令人困惑。

我誤解了外鍵屬性的目的。 如果不遵循命名約定,它將在當前類上定義鍵。

我被困住了,因為我得到的錯誤消息是我需要使用批注或流利的api,但真正的意思是我必須使用流利的api,因為我想要的關系無法通過批注指定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM