如何将早期绑定查询转换为IQueryable <tentity>

时间:2017-02-24 20:42:35

标签: c# .net visual-studio dynamics-crm-2011

假设AccountSet返回IQueryable<Account>,我该如何转换此早期绑定:

XrmServiceContext _xrmServiceContext;
var result = _xrmServiceContext.AccountSet.FirstOrDefault(x => x.Id == locationGuid);

进入更可重复使用的东西,如:

_xrmServiceContext.Where(Set == "Account").FirstOrDefault(x => x.Id == locationGuid);

AccountSet定义为:

    public System.Linq.IQueryable<Xrm.Account> AccountSet
    {
        get
        {
            return this.CreateQuery<Xrm.Account>();
        }
    }

如何对IQueryable XrmServiceContext的{​​{1}}成员重复使用?

2 个答案:

答案 0 :(得分:1)

只要Id是主键,您就可以将其与find结合使用来进行通用调用

public T Get<T>(object[] Id)
      where T : class
{
    return _xrmServiceContext.Set<T>().Find(Id )
}

如果您正在寻找可能有点难度的IQueryable,但您可以找到如何解决上一个问题,我问:

Entity Framework Filter By PrimaryKey

答案 1 :(得分:1)

this帖子提供,我找到了以下解决方案:

<%= form_for @producer_type do |f| %>
  <%= f.check_box :enabled %>