gpt4 book ai didi

c# - 来自两个数据库的linq查询

转载 作者:行者123 更新时间:2023-11-30 22:38:36 25 4
gpt4 key购买 nike

我有一个来自两个数据库的 linq 查询,但是,每次程序都在查询点停止。我不知道如何使用 VS 调试 linq。有人可以帮我弄清楚这里出了什么问题吗?谢谢。

public List<Promotion> GetBroder(string source)
{
string _connString = ConfigurationManager.AppSettings["DB1"];
PromotionDataContext dc = new PromotionDataContext(_connString);
string connString = ConfigurationManager.AppSettings["DB2"];
ReachDirectDataContext RDdc = new ReachDirectDataContext(connString);
return (from b in RDdc.BrokerNos
from p in dc.Promotions
where p.Source == source && p.Broker == b.BrokerNo1
select new Promotion() {Code=p.Code,BrokerName=b.Name}).ToList<Promotion>();
}

最佳答案

您的 linq 语句看起来不错。为了帮助调试,我发现将 linq 查询分配给局部变量,然后返回局部变量很有帮助。然后您可以在返回语句上设置一个断点,当调试器在断点处停止时,您可以交互地检查查询局部变量以查看其中的内容。您可以使用 VS 中的“局部变量”窗口或“即时窗口”在您的应用程序变量中浏览并查看发生了什么。

尤其要仔细检查您的 linq 查询的输入是否确实提供了数据。验证 RDdc.Brokernos 是否非空,以及 dc.Promotions 等。如果这些为空,则结果将为空。 “上游”跟踪您的错误。

要点:您不需要在选择中的 .ToList() 调用上指定类型参数。编译器将自动推断类型。

关于c# - 来自两个数据库的linq查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048718/

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