我想根据我的域结构指定实体名称空间。 通常是这样的:
Infrastructure.SqlServer
我如何使用LinqToSql或EntityFramework?似乎我们只能指定一个独特的“实体命名空间”,如Infrastructure.SqlServer.Entities
感谢。
答案 0 :(得分:1)
这可以用EF,但我不推荐它。
问题是您必须进入EDMX并手动编辑XML(即让设计者)在EDMX文件的CSDL部分内创建多个模式。
我认为绝对不值得麻烦。
亚历
答案 1 :(得分:0)
我在我们的应用程序中完成了这项工作。我们的实体名称空间基于我们的SQL Server模式。每个命名空间都在它自己的DBML中。不幸的是,L2S无法模拟.DBML文件之间的关系,但我们在某种程度上解决了这个问题。
兰迪
答案 2 :(得分:0)
您可以通过消除每个不需要的表来为数据库模式创建单独的模型。您可以使用L2S或实体框架执行此操作。我猜这不是你的意思。您将无法在查询中包含两个模型中的实体。
你可能想要的......
大多数人出于维护原因该怎么做;即将模型分成模块化块。我自己也经历了很多实验。如果你决心要坚持下去,那就有一篇文章here。手动编辑详细的EDMX文件 目前非常笨拙且容易出错。如果您要求的是您所希望的分割的总范围可能很好。如果你有一个更大的模式和更多的分裂,你可能会发现它太痛苦了。
对于许多人而言,这显然是理想的功能,并且需要针对典型的企业数据库使用。从长远来看,这可能是固定的,但现在我的建议是解决这个问题。 要完成,LinqToSQL不支持以任何方式拆分模型。