
一切正常,除了find方法,我不知道如何使用它,我很难理解表达式或Func类型.之前我使用过linq和lambda,但是我很开心,仍然不能流利地使用它…
public IEnumerable<TEntity> Find(Expression<Func<TEntity,bool>> predicate){ return Context.Set<TEntity>().Where(predicate);} 我有这个模型类:
public partial class Artikl{ [browsable(false)] public int IDArtikli { get; set; } public string barkod { get; set; } [displayname("Šifra")] public Nullable<int> Sifra { get; set; } public string Naziv { get; set; } [displayname("JM")] public string JedinicaMjere { get; set; } public decimal Tarifa { get; set; } [displayname("Prodajna")] public Nullable<decimal> ProdajnaCijena { get; set; } [browsable(false)] public Nullable<bool> Flag { get; set; } public Nullable<decimal> Kalo { get; set; } [displayname("Nabavna")] public Nullable<decimal> NabavnaCijena { get; set; } [displayname("Veleprodajna")] public Nullable<decimal> VeleprodajnaCijena { get; set; } public Nullable<decimal> Zalihe { get; set; } } 我的问题是如何根据属性“Sifra”获取Artikl项目.我不知道如何调用这种方法……
private voID txtSifra_TextChanged(object sender,EventArgs e){ var artikl = _UnitOfWork.Artikl.Find(???); txtNaziv.Text = artikl.Naziv;}解决方法 您需要传递 lambda expression才能满足Expression< Func< TEntity,bool>>谓语.您可以通过以下方式获取基于属性“Sifra”的项目: var artikl = _UnitOfWork.Artikl.Find(q => q.Sifra == "some int value").FirstOrDefault();
希望能帮助到你!
总结以上是内存溢出为你收集整理的c# – 如何使用Func类型的Expression作为参数调用方法全部内容,希望文章能够帮你解决c# – 如何使用Func类型的Expression作为参数调用方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)