如何使用Func类型的Expression作为参数调用方法

Solujic

我使用了在线教程中看到的Repository模式...

除了查找方法外,其他所有东西都工作正常,我不知道如何使用它,而且我很难理解表达式或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<Func<TEntity, bool>> predicate通过执行以下操作,您可以基于属性“ Sifra”获得商品:

var artikl = _UnitOfWork.Artikl.Find(q => q.Sifra == "some int value").FirstOrDefault();

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java如何通过以原始类型作为参数的反射来调用方法

不能使用函数(func()类型)作为参数中的类型

以匿名结构作为参数导出函数[在package.Func的参数中不能将值(结构{...}类型)作为结构{...}类型使用]

如何使用GraalVM从C ++调用具有非原始类型作为参数的Java入口点方法

如何使用类型变量中的类型参数创建Expression <Func <>>

作为方法调用参数

使用函数作为参数-如何调用?

从Powershell调用带有Expression <Func>参数的C#方法

如何使用Object ...作为参数调用方法

如何在方法调用中对参数类型使用继承?

如何调用需要带有lambda Expression参数的Func <T>的方法

调用函数作为参数类型

调用方法作为参数

如何使用方法调用作为参数

使用子类作为方法参数调用getMethod

如何创建一个使用闭包对象作为参数调用(或组合)另一个Expression的Expression?

如何评估作为参数传递给方法的Func / Delegate / Expression?

在Linq to Entity中使用Func作为通用方法参数

如何在使用Expression <Func <T >>时设置参数

如何修复以func作为参数的.NET方法?

如何使用 Func<string, T> 作为参数之一调用方法

如何使用任意类型作为函数参数?

如何使用泛型类型的类型参数作为方法参数的类型?

Mypy:如何将类型作为函数参数并对该类型调用类方法

如何使用对象类型作为方法/构造函数的参数?

如何将类型作为 func 参数传递?

如何使用反射调用接受 Func<> 参数的方法?

如何使用 Linq Skip and Take 调用 Expression<Func<T, bool>> 参数化函数

如何使用动态类型参数创建 System.Func 类型