Is it possible to create Linq Queries at runtime. Using an xml rule which can be translated to a Linq Query.
Is it possible to create Linq Queries at runtime. Using an xml rule which can be translated to a Linq Query.
归根到底,是的;但是,这并不简单,你需要:
如果你想选择第一种办法,那么你就需要创建自己的lam;例如,想象你们有这样的东西(在这里做事情......):
<Filters>
<Add Prop="Foo">My filter value</Add>
</Filters>
然后,你们需要做这样的事情:
XElement filters = ...; // the "Filters" element
IQueryable<Customer> query = ...; // your raw (unfiltered) query
foreach(var filter in filters.Elements("Add")) {
var param = Expression.Parameter(typeof(Customer), "row");
var body = Expression.Equal(
Expression.PropertyOrField(param, (string)filter.Attribute("Prop")),
Expression.Constant(filter.Value, typeof(string)));
query = query.Where(Expression.Lambda<Func<Customer, bool>>(
body, param));
}
以上(每个“Add”要素)都产生了一个将特定成员过滤到供应价值(假设体内,但你当然可以做任何转换等)。 所有其他行动都是有益的,但效果不大。 注:query
通过该休息室受到限制。
是的。 我不想告诉你如何教化XML,但你可以照此附上林克推广方法:
var IQueryable<bla> query = myDataContext.BlahTable; // I think you can also use IEnumerable.
if(/* something */)
{
query = query.Where(b => b.Field1 > 0);
}
if(/* something else */)
{
query = query.OrderBy(b => b.Field2);
}
What is the use of default keyword in C#? Is it introduced in C# 3.0 ?
I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...
I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...
I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...
I have two EF entities. One has a property called HouseNumber. The other has two properties, one called StartHouseNumber and one called EndHouseNumber. I want to create a many to many association ...
How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...
Since I cannot order my dictionary, what is the best way of going about taking key value pairs and also maintaing an index?
Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...