我有一个带有二进制列的实体,它在映射中设置为延迟加载。但是,在某些情况下,我们希望同时获取实体和二进制数据。我尝试使用 Linq.Fetch(x => x.BinaryData),但这给出了无效的连接异常。可以理解,考虑到它首先不应该是一个连接。有没有办法让这个工作?我正在使用 NHibernate 3.1
这是映射:
Map(x => x.BinaryData)
.CustomSqlType("image")
.Length(int.MaxValue)
.Not.Nullable()
.LazyLoad(); // Wanna make sure we don't kill the app by loading the image data when we don't need it.
这是抓取:
Linq.Where(x => x.Id == id).Fetch(x => x.BinaryData).FirstOrDefault();