我想知道人们是如何以更具伸缩性的方式管理dbml文件的?
您是否只有一个DataClasses1.dbml并将每个表拖放到其中?
您是否为单独的逻辑组设置了单独的文件,例如Accounts、HR?如果是这样,那么当一个表链接到另一个dbml文件中的表时,如何直观地看到外键关系呢?
谢谢。
发布于 2012-09-18 16:02:00
更好的做法是为所有的表使用一个DBML文件,这样你就可以看到所有的关系,比如Foreign Key等,所有的together..But都完全取决于你的需求。
发布于 2012-09-18 16:03:24
使用实体框架(linq- to -sql也是如此),我喜欢对数据库的不同部分使用不同的上下文类。
但是什么是“截然不同”呢?
在大多数情况下,与应用程序的核心业务相关的所有内容都太过相互关联,以至于单独的上下文没有意义。但几乎每个应用程序都有横向任务,如授权、翻译、审计等。对于不同的上下文,这些都是很好的候选者。
但是,仍然会有与业务逻辑的连接。正如您可能知道的,您不能以将连接转换为SQL的方式连接来自不同上下文的类。只在内存中。因此,在多个上下文中复制一些实体是有用的。因此,例如,业务上下文和授权上下文都将包含User实体。一个上下文应负责维护实体,另一个上下文应以只读方式使用它。
编辑
我所说的实体复制,是指两个(或更多)上下文可以有一个映射到数据库中同一个表的实体。比如User。如果您愿意,业务上下文可以用于创建和更新用户,授权上下文(例如)用于向特定用户添加角色,而无需修改用户本身。
https://stackoverflow.com/questions/12470182
复制相似问题