我有两个简单的实体,类似于:的Guid限制
public class User
{
int id;
string name;
Guid Guid;
IList<Rentals> Rentals;
}
public class Rentals
{
int Id { get; protected set; }
User User { get; set; }
int DvdId { get; set; }
}
(我所有的公共虚拟财产申报并一切,只是这里没有提到它简化)
假设每个User
将有很多Rentals
,我想通过他的Guid选择某个用户的所有DvdId
。
我打一个例外,这一项:could not resolve property: User.Guid
这是我在我的仓库正在做的:
DetachedCriteria dc = QueryOver.Of<Rentals>()
.Where(r => r.User.Guid == userGuid)
.Select(r => r.DvdId)
.DetachedCriteria;
凡userGuid
正在从单元测试通过。 (这是一个我知道的话)如果我这样做,而不是
:
DetachedCriteria dc = QueryOver.Of<Rentals>()
.Where(r => r.User.Id == 1) // Note - replaced guid with id (an int)
.Select(r => r.DvdId)
.DetachedCriteria;
这一切正常。所以我猜测,有什么需要的GUID comparisions做..
我对GUID映射是这样的:(在用户映射类)
Map(x => x.Guid, "Guid")
.Not.Nullable();
我用流利的实体映射。
那么....我该如何对GUID应用限制?
好极了!现在,我不仅知道我需要做什么才能使其工作,但我也知道为什么它不工作!非常感谢。如果可以的话,我会多次赞扬它! – LocustHorde 2012-03-07 14:39:42