我的问题是:
我们有一个非常庞大的Legacy DB,包含许多SPROC,Views&表。
设计师是这个尺寸的“NO GO”b / c。
我已经配置了SQL Metal来构建数据上下文,但是生成的代码文件太大了(12MB),visual studio 2008将无法打开它。
如果SQLMetal会为每个类类型生成一个新文件(Table,View,SPROC_Result),我会没事的。
但是因为它目前有效,我已经被软管了。
想法?
答案 0 :(得分:1)
你可以这样做:
在过滤阶段(步骤2)中,您还可以根据其他要求创建.dbml文件的其他任意分区。也许过滤掉一些不必要的表或视图。或者使用单独的DataContexts将表分成逻辑组件。
答案 1 :(得分:1)
原来有很多方法可以做到这一点:
1)建立自己的(为我一周:DBML上帝)http://southernbits.com/index.php/2009/05/16/dbml-hell-legacy-db-sqlmetal-is-painful-when-migrating-from-sql-designer/
2)使用现有工具(这可能有用但我 NOT 尚未完全探索过)http://www.plinqo.com/
3)警惕SQLMetal& SQL Designer。请参阅博客:http://southernbits.com/index.php/2009/05/25/unfortunate-differences-between-linq-sqlmetal-and-sqldesigner/
最后,这花了我一个星期的探索(我没有发现plinqo)。简单的解决方案并没有出现。我花了1.5周的时间来构建一个工具(DBMLGod),另外花了一周的时间来重构/编译代码,给出了SQLMetal和SQLDesigner之间的差异。测试时间是TBD ......
如果 NOT 具有使用SQL Designer构建的大型代码库,则可能不会有太多问题。
我认为所有大型,不整洁的数据库(使用大量复杂的sprocs并且有很多对象)都会很痛苦。
我们的数据库的SQLGeneration时间在QuadCore 4GB开发盒(ouch)上是15分钟。
答案 2 :(得分:0)
刚刚确定Resharper在非常大的DataContext.cs文件上崩溃VisualStudio。但Keltex的建议非常好。
答案 3 :(得分:0)
我们正在使用http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html
然后你可以将datacontext拆分成.tt模板中的单独的类文件,事实上你喜欢它,它提供了扩展代码的充足机会,并且有一个免费版本,应该符合基本需求。
此致