我使用以下代码在Visual Web Developer 2010 Express中创建两个表:
http://imgur.com/a/Mi2Bv(抱歉,由于有新帐户,论坛不会让我直接发布图片)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BarApp.Models
{
public class Drinks
{
public int DrinksId { get; set; }
public int EstablishmentsID { get; set; }
public string name { get; set; }
public decimal price { get; set; }
public string description { get; set; }
public string image { get; set; }
public virtual Establishments establishment { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BarApp.Models
{
public class Promotions
{
public int PromotionsId { get; set; }
public string name { get; set; }
public float discount { get; set; }
public int EstablishmentId { get; set; }
public int DrinkId { get; set; }
public string description { get; set; }
public virtual Establishments establishment { get; set; }
public virtual Drinks drink { get; set; }
}
}
但是,当我查看创建的表时,Promotions表具有公共虚拟代码的实际行,而Drinks表则没有。
我可以按照我想要的方式在项目的其他地方使用Drinks表功能,但是我无法让Promotions以相同的方式运行,因为它看起来像#34; public virtual"在每张表中给出不同的结果。
答案 0 :(得分:0)
在这种特殊情况下,我没有使用传统方式引用另一个表的Id字段。
我只需要更改以下内容:
public int EstablishmentId {get;组; } public int DrinkId {get;组; }
以下内容:
public int EstablishmentsId {get;组; } public int DrinksId {get;组; }
我的表格是在我做出此更改后按预期创建的。