【发布时间】:2016-08-27 04:18:57
【问题描述】:
我收到了一个用于多个 OrmLite 操作的 MissingFieldException:
using (var db = DbFactory.Open())
{
var exp = db.From<Product>();
if (filter.Field1 != null)
exp.Where(w => w.Field1 == filter.Field1);
if (filter.Field2 != null)
exp.Where(w => w.Field2 == filter.Field2);
return db.LoadSelect(exp);
}
也发生在简单的 AutoQuery RDBMS 服务中。
[Api("Query.")]
[Route(“/query, "GET")]
public class QueryTransaction : QueryDb<Transaction, TransactionQueryRecord>,
IJoin<Transaction, Application>
{
[ApiMember(IsRequired = false, ParameterType = "query")]
public string TimeZoneId { get; set; }
}
堆栈跟踪如下:
System.MissingFieldException:找不到字段:'ServiceStack.OrmLite.OrmLiteConfig.UseParameterizeSqlExpressions'。 在 ServiceStack.OrmLite.SqlServer.SqlServerOrmLiteDialectProvider.SqlExpression[T]() 在 ServiceStack.OrmLite.OrmLiteExecFilter.SqlExpression[T](IDbConnection dbConn) 在 ServiceStack.OrmLite.OrmLiteReadExpressionsApi.From[T](IDbConnection dbConn) 在 ServiceStack.TypedQuery`2.CreateQuery(IDbConnection db,IQueryDb dto,Dictionary`2 dynamicParams,IAutoQueryOptions 选项) 在 ServiceStack.AutoQuery.CreateQuery[From,Into](IQueryDb`2 dto, Dictionary`2 dynamicParams, Request req我认为OrmLite正在尝试查找属性配置OrmLiteConfig.UseParameterizeSqlExpressions,但它在v.4.0.60版本中不存在
当我使用 AppSelfHostBase 运行集成测试时,一切正常,但是当我在浏览器中尝试时,有时会正常工作,有时会抛出异常。
【问题讨论】:
标签: servicestack ormlite-servicestack