【问题标题】:How to make a Nullable FK EF [duplicate]如何制作可空的 FK EF [重复]
【发布时间】:2018-12-24 20:53:33
【问题描述】:

我必须构建一个 Code First 数据库并希望将外键设置为 Nullable。但是我不知道该怎么做,因为它表明该字段不能为Null。

Error

Order_Item:

namespace ORDER_DATABASE.Tables
{
    public class Order_Item
    {
        public int Id { get; set; }
        public virtual Order Order { get; set; }
        public virtual Product Product { get; set; }
        public int Amount { get; set; }
    }
}

产品:

using System;
using System.Collections.Generic;

namespace ORDER_DATABASE.Tables
{
    public class Product
    {
        public int Id { get; set; }
        public virtual Supplier Supplier { get; set; }
        public virtual Category Category { get; set; }
        public String Name { get; set; }
        public int Price { get; set; }

        public virtual List<Order_Item> OrderItems { get; set; }
    }
}

我想为空的列是 Product

【问题讨论】:

  • 请将您的错误以文本形式发布为edit 您的问题。第二:我认为这只是一个错字。
  • 啊,你需要摆脱?。引用类型可以设计为null,不需要Nullable&lt;&gt;? 语法。
  • @Stefan 谢谢 :) 愚蠢的是我自己没想到的

标签: c# entity-framework ef-code-first


【解决方案1】:

为了在您的代码中明确说明,您可以在 Order_Item 类中明确设置 FK 字段:

namespace ORDER_DATABASE.Tables
{
    public class Order_Item
    {
        public int Id { get; set; }
        public int Amount { get; set; }
        public int? ProductId { get; set; }

        public virtual Order Order { get; set; }
        public virtual Product Product { get; set; }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    相关资源
    最近更新 更多