【问题标题】:Can we use SQLMetal Objectmodel as application object model?我们可以使用 SQLMetal Objectmodel 作为应用程序对象模型吗?
【发布时间】:2015-09-09 17:32:41
【问题描述】:

我们的团队刚刚开始使用 Sql Metal,我已经玩了 2 天了。在这样做时,我注意到了几件事。

  1. 当我们运行如下命令时

sqlmetal /code:ps.cs /server:devapp042dbs /database:promotionalsponsorship /namespace:DAL

它创建一个“LINQ to SQL SQLMEtal”对象模型。现在,这不是我们的常规课程。它有很多自动生成的代码,而且几乎闻起来像 LINQ/EF,有很多自动生成的属性和方法。

我使用过像服务堆栈中的 Dapper 和 ORMLite 这样的 Micro ORM,关于这些的有趣之处在于它可以与我们创建的简单对象模型一起使用,而不是自动生成自己的对象模型。

我的问题是我们可以使用这些 SQLMetal 映射类作为我们的应用程序模型,还是我们必须围绕它创建一个简单的包装类,使用它我们可以提取我们需要的所有信息。

为了澄清我的观点,下面是我称之为SQL Metal Classsimple model class 的示例

【问题讨论】:

    标签: c# linq sqlmetal


    【解决方案1】:

    虽然这个问题可能会被关闭,因为答案是主观的,简短的回答是,使用这样的自动生成的类集作为你的模型是完全有效的。以这种方式构建的成功应用很多。

    由于这些类是部分的,您甚至可以通过添加自定义属性/方法/事件来扩展您的域模型。

    如果您担心自动生成的代码不够干净,请考虑实体框架、nHibernate 或任何其他支持此方案的 ORM 的 代码优先 方法。这样您就可以从一个干净的 POCO 模型开始,只需定义其到关系结构的映射即可。

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 2018-01-19
      相关资源
      最近更新 更多