使用实体框架

时间:2017-10-11 16:42:56

标签: entity-framework search

我有三张桌子 1. SalesDetails具有SalesId,ProductId,Qty,Price等字段 2. SalesPersonDtls有销售SalesId,SalesPersonId,CommPercentage等 3. SalesPerson具有SalesPersonId,firstName,lastName等字段

我有第二张桌子,因为一次销售可以由一个以上的销售人员和分拆佣金完成。 我在搜索屏幕上有各种输入,如产品名称,销售日期,销售人员姓名等。 我将模型类设为'AsQuaeryable',并将各种各样的condiotions和结果添加到列表中。 我在搜索条件中有销售人员的姓名,但我不知道如何将其包含在搜索中。你能帮忙吗?

由于 彼得

1 个答案:

答案 0 :(得分:1)

彼得
如果我弄错了,你的商业模式的关系是这样的:

person(n)< -----> (1)销售(1)< -----> (n)详情
您将销售和人员关系放在“SalesPersonDtls”中,并将销售和详细信息关系放在“SalesDetails”中。我认为最好稍微改变一下你的实体,如果你想在你的项目变得更大更复杂的情况下获得更好的结果。
你的实体应该是这样的:

    Sale
    {
        List<SalesDetail> details;
        List<Person> persons;
        ...
    }
    SalesDetail
    {
       Sale
       ...
    }
    Person
    {
       Sale
       name
       ...
    }



现在它非常简单,如果你想要与personName相关的销售:

sales.Where(sale => sale.Persons.Any(person => person.PersonName == "your input name"));

更新: 如果您不能或不想更改模型: 首先,你需要通过it'name找到personId,然后搜索你的“SalesPersonDtls”并获得saleIds。