我有一些表,使用实体框架
用户表
- 用户身份
书桌
- 书号
- 书名
拥有表
- 用户身份
- 书号
现在我可以使用:
uw.ownRepository.GetData().where(v=>v.userid=1).select(o=>o.Book)
获取我拥有的所有书籍。但是如果我想获取所有书籍,请注意用户是否拥有它
我有一些解决方案
1.
选择所有书籍,然后为每本书选择一次
愚蠢的解决方案= =
2.
var s = from book in uw.bookRepository.GetData()
join own in uw.ownRepository.GetData() on book.Id equals like.Id into ps
from o in ps.DefaultIfEmpty()
select new {bookName =book.name,IsOwn =o==null};
只是一些伪代码。
我试过了,效果很好。
但我想知道是否还有其他更好的解决方案
如果我想选择一个强类型,比如
select new Book{bookName =book.name,bookType=book.bookType, IsOwn =o==null};
在这种情况下,如果 bookTable 中有很多字段,我必须分配每个字段。
有人有什么想法吗?