【问题标题】:Setting up the Business Logic Layer with a DBML使用 DBML 设置业务逻辑层
【发布时间】:2010-05-26 06:52:25
【问题描述】:

我正忙于制作业务逻辑层。现在我遇到了一个问题,因为我想使用 c# 进行编程,而我必须为其制作模块的整个项目都是基于 vb.net 的。我已经使用解决方案中的一个新项目解决了这个问题。该项目将维护数据类和业务逻辑。现在我遇到了一个问题,至少我不知道该怎么做。 这是我到目前为止所做的:

  • 我在无法使用 C# 的解决方案中构建了一个新项目,因为它都是 vb.net
  • 我已经为我想在未来的应用程序中使用的每种类型的实体创建了 dbml。

现在我正在处理业务逻辑层。对于我必须在我的应用程序中使用的每种类型,我都有 dbml。例如,我有一个名为“Relations”的 dbml。现在我想设置 BLL 功能以根据搜索字符串输入返回一个关系列表。 现在我应该实现一个名为 Relations.cs 的类并添加构造函数逻辑等并制作此类型的列表并返回此列表,还是应该只使用关系 dbml 中的 Datacontext 并使用 linq 返回 qry 类型的列表喜欢下一行的代码吗?

List<QRY_HOSTING_Relaty> relatieLijst = (
    from QRY_HOSTING_Relaty res 
    in dcRelaties.QRY_HOSTING_Relaties
    select res).ToList<QRY_HOSTING_Relaty>();

我不确定是否必须制作自己的类型,而我已经拥有由我的 dbml 定义的类型,我可能只能使用这些类型。 那么,我应该实现自己的关系类并使用 dbml 吗?

【问题讨论】:

    标签: c# .net linq-to-sql class constructor


    【解决方案1】:

    每个数据库/域通常应该有 1 个单独的 DBML 文件。您不应该为每个表/类/实体创建一个 DBML,因为这将为每个类创建一个 DataContext。这样做会使您失去 LINQ to SQL 的大部分有用功能,例如内存事务(工作单元)和对多个实体执行 LINQ 查询。

    通常不需要创建您自己的类型来包装由 LINQ to SQL 生成的类。典型用法是: 在数据库中创建表(具有适当的关系);创建一个 DBML 并将所有需要的表拖到 DBML 上;更改表和列名是适当的。

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 2010-12-18
      • 2013-05-18
      • 1970-01-01
      • 2011-12-03
      • 2011-11-26
      • 2017-04-29
      • 2016-08-12
      • 2018-08-02
      相关资源
      最近更新 更多