我收到错误:
Schema specified is not valid. Errors: (0,0) : error 0175: The specified store provider cannot be found in the configuration, or is not valid.
到目前为止,我已经对其进行调试以查找名为"EpiProvider"的提供程序字符串,但我无法弄清楚缺少什么。我可以在左侧加载实体列表(使用对象上下文连接)。
当我第一次尝试它时,它不起作用。我认为这与 Epicor 创建的 [dbo] 模式中的视图有关,当您将扩展的 UD 表附加到普通表时。
我决定尝试一下,因为我现在对它有了更多的了解,并发现它运行良好,但表格结构太大,可能会有点误导。例如,我通过尝试提取单个部分记录来直接进行测试
from p in Part
where p.Company == "foo" && p.PartNum == "1234567890"
select p
这将抛出错误"InvalidOperationException:成员'System.Data.Linq.Binary UD_SysRevID'和'System.Data.Linq.Binary SysRevID'都标记为行版本",因为LingPad显然不喜欢一个表有多个行版本列,当Epicor在一个视图中合并部分和Part_ud中的列时,就会发生这种情况。
为了使事情更有趣,因为视图[dbo]。创建 [Part] 后,LinqPad 在 [Erp] 中调用实际的 Part 表。[部分]Erp_Part,这让我永远注意到了,因为我使用的所有表格几乎都是 C 或 P 格式,并且介于两者之间的所有内容都被滚动浏览。我什至没有想到要看,因为我必须扩展架构才能进入列表。
好消息是这工作得很好。
from e in Erp_Part
where e.Company == "foo" && e.PartNum == "1234567890"
from u in Part_UD
where u.ForeignSysRowID == e.SysRowID
select new { e, u }
狩猎好!