两种方法:
var books = _myIBookRepository.RetrieveAllBooks();
var bokexamples = _myIbokexamples Repository.RetrieveAllBookExample();
两个数据库表:
BookExample
书
BookID是表Book
中的BookExample表中的外键如果orderdetailID为NULL,则意味着此specfik bookexample在商店中可用
目标:
显示两列“标题”和“库存可用”。 “库存可用”是数据库中不存在的自定义列。 “库存可用”应包含数字,例如2本书的标题....可用。
问题:
有问题在Linq中找到正确的源代码以显示这两列。
// Fullmetalboy
答案 0 :(得分:2)
var query = from b in books
select new
{
Title = b.Title,
StockAvailable = bookexamples.Count(be =>
be.BookID == b.BookID &&
be.OrderDetailID == null
)
};
如果我理解你的问题,这应该是你正在寻找的。 p>
答案 1 :(得分:1)
您可以使用另一个以您想要的形式封装BookExample
类的类,例如:
public class BookSummary
{
public int BookID {get; set; }
public int BookExampleID {get; set; }
public bool StockAvailable {get; set; }
public string Title {get; set; }
}
var books = from b in _myIbokexamples Repository.RetrieveAllBookExample().Include("Book") // I'm assuming that's there, lol
select new BookSummary
{
BookID = b.BookID,
BookExampleID = b.BookExampleID,
StockAvailable = b.OrderDetailID == null,
Title = b.Book.Title
};