簡體   English   中英

許多人為零或一個關系

[英]Many to zero or one relationship

我有一個實體/表purchases 該表有一個customerId 我有另一個表customers 此表有customerId

單個客戶可以進行多次購買。 但是這個DB只是主數據庫的視圖/表示。 這意味着客戶可能會或可能不會在場。 但是如果存在則購買將始終具有customerId 表中可能沒有相應的客戶。

我想閱讀使用EF6 Purchases客戶信息(如果存在)或只是null。

如何在EF6中進行設置?

一旦我將customerId / Customer添加到購買中,EF就會創建一個外鍵,並防止在客戶不在的情況下插入購買。 我希望他們兩個表是獨立的,只有在購買時才會填充客戶。

有任何想法嗎?

您需要在purchase表Nullable中創建customerId字段。

如果您使用的是EF Code First方法:

public int? CustomerId { get; set; }
public virtual Customer Customer { get; set; }

否則,在數據庫模式中更改它並重新加載EF模型:

ALTER TABLE purchase ALTER COLUMN customerId INT NULL

當然,如果您不使用INT作為ID的類型,請適當更改它。

暫無
暫無

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

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