LINQ to SQL查询帮助

时间:2010-10-28 19:26:28

标签: linq-to-sql

我有2个实体-Offer和Share。共享存储用户共享的优惠。

class Offer
    int IDOffer;
    bool Shared;
    (other properties)

class Share
    int IDOffer;
    int IDUser;

其中Offer.IDOffer = Share.IDOffer,1对1(用户可能只共享一次,或者根本不共享)。

我使用共享属性扩展了Offer - 它不在数据库中,而是在实体中。

现在我需要选择Offers并根据Share实体设置Offers.Shared。

你能用正确的方法指出我吗?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我不相信LINQ to SQL中支持这些属性。看来你应该写下这样的东西:

void partial OnLoaded()
{
    this.Shared = !this.Share == null;
}

但我认为这不起作用,因为OnLoaded方法可能在实际加载实体之前执行。我建议只要在需要表达这种想法时将Share与null进行比较。像这样:

//Select all offers that are shared
var result  = from offer in Offers
              where !offer.share == null
              select offer;

编辑:写下第一个版本忘记这是一对一的。编辑与EntityRef s。

一起工作