【问题标题】:Entity Framework select and where condition using dynamic parameters实体框架选择和使用动态参数的条件
【发布时间】:2015-05-26 00:53:08
【问题描述】:

我正在尝试使用实体框架从我的数据库中选择客户。我的客户有一个工作和一个国家和一些其他属性(姓名、性别、年龄......)。

1- 如何将工作列表和国家/地区列表作为“位置”条件传递

2- 如何动态选择属性(用户可以选择一个或多个属性)?

我有 List 所有权;如果属性包含 ("Name", "Age"),我的选择将是:select(new {Cosutumer.Name, Costumer.Age})。如果 proprity 包含 ("Country", "Job") 我的选择将更改为 Costumer.Country 和 Costumer.Job .. 等

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    如果您使用的是实体框架,您能否不简单地将列表作为参数传递?

    public Customer[] GetCustomers(Job[] jobsList, Country[] countryList)
    {
        return [yourDataContext].Customers.Where(x => jobsList.Contains(x.Job)).ToArray();
    }
    

    【讨论】:

    • 谢谢,这对我有用。知道如何动态选择属性吗?
    • 您必须通过动态选择属性来扩展您的意思
    • 假设我有 5 个表客户的属性(ID、姓名、年龄、国家、工作)。有时我只想得到名字,有时我想要名字和年龄或国家和名字。所以这是一个包含所选属性名称的列表,如果该属性的名称在该列表中,我将返回它
    • 要检索所有客户的姓名,您只需运行上面发布的函数,然后访问像 Customer.Name 这样的名称,可能在 foreach 循环中。
    • 这与客户的名字无关。也许我解释错了。我说的是我拥有 List 属性的属性(属性);如果属性包含 ("Name", "Age") 我的选择将是:select(new {Cosutumer.Name, Costumer.Age})。如果属性包含 ("Country", "Job") 我的选择将更改为 Country 和 Job。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2011-12-09
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多