我收到错误:
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连接)。
答案 0 :(得分:1)
当我第一次尝试时,它不起作用。我认为它与Epicor在普通表附加扩展UD表时创建的[dbo]模式中的视图有关。
我决定尝试一下,因为我现在对此有了更多的了解并发现它的工作原理相当不错,但表结构非常庞大,可能会有点误导。例如,我通过尝试提取单个部分记录来直接测试它
from p in Part
where p.Company == "foo" && p.PartNum == "1234567890"
select p
这会抛出错误“InvalidOperationException:Members'System.Data.Linq.Binary UD_SysRevID'和'System.Data.Linq.Binary SysRevID'都标记为行版本。”因为LingPad显然不喜欢一个表有多个Row Version列,这就是当Epicor在一个视图中合并Part和Part_ud中的列时会发生的情况。
为了让事情变得更有趣,因为视图[dbo]。[Part]被创建,LinqPad调用[Erp]中的实际Part表。[Part] Erp_Part,它让我永远注意到因为我使用的所有表都是几乎在C或P中,其间的所有内容都会滚动浏览。由于我必须扩展Schema才能进入列表,所以我甚至都没想到。
好消息是这很好用。
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 }
好狩猎!