0
我無法定義以下DB結構,使用導航屬性:EF代碼首先定義FK正確(1/0至1/0)
Table: Batch
PK: Id
FK: Model_ID (can be also null)
Table: Model
PK: Id
no FKs related to Batch
所以這有點像1/0至1/0的關係。 Model
& Batch
可以不知道對方存在。請注意,我只需要'批'而不是'模型'中需要FK列。在'模型'中,我只想獲取相關Batch
(如果存在)。但有些型號和一些批次是相互連接的。
我定義了下面,卻是
public class BaseData {
public Guid Id {get; set; }
public Guid? ModelId {get; set; }
public ModelData ModelId { get; set; }
}
public class ModelData {
public Guid Id {get; set; }
public Guid? BatchId { get; set; }
public BatchData Batch { get; set; }
}
我能夠確定正確的數據庫結構,如果我刪除一個導航屬性 - 從ModelData
BatchData Batch
。 但是,我希望在這兩個類中都有導航屬性,這有可能嗎?
我試過不同的配置,都不起作用。 一個例子我試着:
ModalConfig:
HasOptional(X => x.Batch) .WithRequired(X => x.Model);
BatchConfig:
HasOptional(x => x.Model)
.WithOptionalPrincipal();
這並不在DB創建FKS。