对于大多数查询,我有我的nHibernate设置并且正确使用QueryOver,但是,每当我尝试执行HQL CreateQuery时,我都会得到实例未映射的异常.我可以使用QueryOver确认相同的实体正常工作.
注意:我使用流利的nHibernate
任何想法会导致什么?
当尝试重新启动现有的Windows服务时nssm
,我随机获取以下消息,该消息将写入错误日志/错误输出.关于如何纠正的任何想法?理想情况下,接受作为有效的回应.
意外状态SERVICE_START_PENDING响应START控制
我想创建一个只知道字段名称的MemberExpression; 例如:
public static Expression<Func<TModel, T>> GenerateMemberExpression<TModel, T>(string fieldName)
{
PropertyInfo fieldPropertyInfo;
fieldPropertyInfo = typeof(TModel).GetProperty(fieldName);
var entityParam = Expression.Parameter(typeof(TModel), "e"); // {e}
var columnExpr = Expression.MakeMemberAccess(entityParam, fieldPropertyInfo); // {e.fieldName}
var lambda = Expression.Lambda(columnExpr, entityParam) as Expression<Func<TModel, T>>; // {e => e.column}
return lambda;
}
Run Code Online (Sandbox Code Playgroud)
上述问题是字段类型必须是强类型的.将"对象"作为字段类型传递不起作用.有没有办法生成这个?甚至动态LINQ似乎也不起作用.
害怕我已经知道了答案.我有一个处理服务调用和缓存的类.为了避免使用相同的请求多次调用服务,我当然可以在代码块周围使用锁,但是很多这些方法都有不同的参数构成缓存键.当它可能是一个完全不同的缓存密钥(或多个不同的缓存密钥)时,等待锁定代码块执行似乎是一种耻辱.
我知道我可以对缓存密钥字符串本身进行锁定,但这是禁止的,因为该字符串可能会弹出任何地方.
因此,我可以在没有锁的情况下执行对服务的潜在不必要的调用,或者通过等待锁来在方法中添加潜在的不必要的延迟.
那些是我唯一的两个选择还是另一个?
干杯
class A
{
int ID;
B ClassB;
}
class B
{
string Title;
}
Run Code Online (Sandbox Code Playgroud)
使用上面的模拟类作为示例 - 我有一个动态创建的GridView.为此我绑定(添加到Columns集合)X数量的BoundFields,然后将一个集合分配给DataSource,但是,我的子对象没有绑定.
在绑定列的数据区域属性设置为"ClassB.Title"和数据源是A型的对象的集合,但它不断抛出异常"的字段或属性名称为'ClassB.Title’未选定的发现数据源. "
有什么想法?
干杯