【发布时间】:2014-05-29 15:49:57
【问题描述】:
目标。我有一个“礼物”实体,它描述了某人必须提供的东西(保姆、遛狗等)并带有评级。我想要一个“GiftCategory”实体,它提供一般类别描述信息(宠物、运动、汽车等),供某人搜索 apon,然后获取所有具有这些类别的礼物。一个“Gift”实体可以有多个与之关联的“GiftCategory”实体。我希望能够搜索一个类别并提取所有与这些类别相关联的类别创建的“礼物”实体。这是我到目前为止所拥有的,但它似乎不适用于实体优先方法。也许我需要另一个表来连接这两个实体,因为目前这两个表的连接方式似乎不正确?
礼物实体:
public class Gift
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<GiftCategory> Categories { get; set; } // is this incorrect???
public int Rating { get; set; }
}
类别实体:
public class GiftCategory
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
创建的“GiftCategory”表创建了一个gift_id 列,该列将“GiftCategory”链接回一个礼物(不是我想要的)!!!!
似乎我需要创建一个连接两个实体的实体?比如:
public class ConnectGifts
{
public int Id { get; set; }
public string GiftId{ get; set; }
public string GiftCategoryID{ get; set; }
}
这样我可以有多个类别的礼物,但我不明白的是实体首先我真的不需要这个实体我只需要这个表来获取/查询“GiftCategory” id 的实体然后获取礼物 ID 以获取所有礼物。所以似乎创建这个实体是矫枉过正的?有没有办法在不首先使用代码创建第三个表/实体(“ConnectGifts”)的情况下做到这一点?还是我不明白所有实体都是表,所有表都是实体?我还在使用 linq-to-sql 进行所有查询。
【问题讨论】:
标签: c# asp.net-mvc entity-framework linq-to-sql ef-code-first