首先,抱歉我的愚蠢问题。 我有一个班级
person{
public string name, addr;
}
我还有一个datacontext,当我调用这个
时返回一个人实体 myDbcontext dbContext = new myDbcontext();
var _query = from pson in dbContext.GetTable<person>() where pson.name = "somename" select pson ;
return _query.First<person>();
因为我对C#很新。我不知道有没有办法编写像这样的通用函数
getPerson(person => person.name = "somename" && person => person.addr = "some addr")
非常感谢
灵
答案 0 :(得分:1)
您可以将条件作为Expression<Func<Person, bool>>
传递并在查询中使用:
public Person GetPerson(Expression<Func<Person, bool>> predicate)
{
return (new myDbContext()).GetTable<Person>()
.First(predicate);
}
答案 1 :(得分:0)
如果您有以下收藏品:
var people = (from pson in dbContext.GetTable<person>()).ToList();
你可以写一个这样的方法,根据他们的姓名和地址来匹配一个人。
public Person GetPerson(string name, string address)
{
return people.Where(p => p.Name == name && p.Address == address).FirstOrDefault();
}
然后调用函数:
public void YourFunction() {
var person = GetPerson("Darren Davies", "My Address");
if (person != null) {
// Your code here
}
}