gpt4 book ai didi

c# - 设置 linq to sql 上下文

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:08 25 4
gpt4 key购买 nike

我试图避免 3 部分连接,我想直接获取我的第 3 个表名称,但我是 linq to sql 的新手,我不确定我需要如何设置所有内容才能正常工作。我正在做但不想做的一个例子是:

from x in currentLogs
join y in cDataContext.CategoryCountryCategoryTypeMappings
on x.CategoryCountryCategoryTypeMappingID equals y.CategoryCountryCategoryTypeMappingID
join cat in cDataContext.Categories
on y.CategoryID equals cat.CategoryID
where x.Response != 0 && cat.StorefrontID==storeID
select x).Count();

我想做的是:

from x in currentLogs
join y in cDataContext.Categories
on x.CategoryCountryCategoryTypeMappingID equals y.CategoryCountryCategoryTypeMapping.CategoryCountryCategoryTypeMappingID
where x.Response != 0 && y.StorefrontID==storeID
select x).Count();

但是当

我得到一个错误
cat.CategoryCountryCategoryTypeMapping.CategoryCountryCategoryTypeMappingID

由我自动生成的 dbml 返回,序列不止一个实体。

我的布局看起来像:DataContext

DownloadLog到cccmapping是一对一的,其他都是一对多的。我可能搞砸了一点,但下载日志记录了一个 cccMapping,其中 cccmapping 具有国家类别和类别类型的排列,每个排列都是唯一的。不确定这是否使映射表成为一对一或一对多。我是否正确设置了我的上下文来做我想做的事情?

最佳答案

根据您的设置,您应该能够使用导航属性。所以按照这些思路应该可以工作。

currentLogs
.Where(log => log.Response != 0 &&
log.CategoryCountryCategoryTypeMappings
.Any(map => map.Categories
.Any(cat => cat.StoreFrontID == storeID))).Count();

关于c# - 设置 linq to sql 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21833053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com