我收到错误:

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”的提供程序字符串,但我无法找出缺少的内容。我可以在左侧加载实体列表(使用 ObjectContext 连接)。

请您参考如下方法:

当我第一次尝试时,它没有用。我认为这与 Epicor 在将扩展 UD 表附加到普通表时创建的 [dbo] 模式中的 View 有关。

我决定尝试一下,因为我现在对它有了更多的了解,并发现它工作得相当好,但表结构太大,可能有点误导。例如,我直接进去通过尝试拉出单个零件记录来对其进行测试

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 显然不喜欢一个表有多个 Row Version 列,当 Epicor 在一个 View 中合并 Part 和 Part_ud 中的列时会发生这种情况。

自创建 View [dbo].[Part] 以来,为了让事情变得更有趣,LinqPad 调用 [Erp].[Part] Erp_Part 中的实际 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 } 

打猎不错!


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!