表关系和查询实体框架

时间:2015-07-26 04:46:25

标签: asp.net database entity-framework ado.net entity-framework-5

  • 父表AspNetUser - >子表Ad
  • 父表Ad - >子表Mobile Ad
  • 父表Ad - >子表AdsLocation(针对一个广告的多个位置)
  • 父表City - >子表PopularPlace

问题:

  1. 我是否必须在Mobile AdMobile之间添加关系?删除Mobile时不应删除MobileAd实体,Mobile表中不应重复行

  2. 我是否必须添加AdsLocationCityPopularPlace的关系?

  3. 根据companyName(移动表)编写查询以获取广告,并应使用cityName和popularPlaceName检索userName,title,price,companyName,modelName和多个位置(简而言之,检索一列从每个表:)应该首选方法语法。

  4. enter image description here

1 个答案:

答案 0 :(得分:3)

1)是的,您应该在移动广告和移动广告之间建立关系,因为移动广告正在引用移动设备ID。

2)是的,您应该在AdsLocation和City之间创建关系,因为AdsLocation正在引用城市ID。

3)在未形成第1部分中的关系之前,此查询将无法进行。但是,在尝试为此问题编写LINQ查询时,我意识到您的数据库存在一些设计问题。例如,同一个广告是否可以由不同的公司发布?目前你的设计允许它。您的设计还允许任何用户为任何公司发布广告。在现实世界中,只有X公司的营销团队才能为X公司制作广告。我认为您应该花更多时间来审查这个设计!