ServiceStack OrmLite的Select方法可以接受Expression<Func<MyTable,bool>>
作为参数。它也可以接受Func
作为参数。我更喜欢使用Expression参数,但VisualStudio的intellisense总是认为我正在输入Func参数:
var connstr = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=mydb";
var factory = new OrmLiteConnectionFactory(connstr, SqlServerDialect.Provider);
using (var db = factory.Open())
{
// using the Func<<SqlExpressionVisitor<MyTable>,SqlExpressionVisitor<MyTable>> overload
var withvisitor = db.Select<MyTable>(v => v.Where(t => t.ID == 42));
// using the Expression<Func<MyTable,bool>> overload
// but the intellisense is still for the Func overload
var withoutvisitor = db.Select<MyTable>(t => t.ID == 42);
}
有没有办法告诉VisualStudio我想使用Expression重载而不是Func one(用于intellisense)?
答案 0 :(得分:0)
使用Visual Studio 2015.它足够聪明,可以检测到您打算键入表达式。