MODEL和DAL

问题描述

我有一个包含所有数据库操作逻辑的类库。我的ProjectSolution中的另一个项目是我的WPF Core应用程序。我在那里创建了我的学生模型。 在我的Mainwindow.xaml.cs中,我实例化了DataAccess类。在这里,我对包含此数据访问类的类库具有依赖性。现在我想将一些虚拟数据插入到我的数据库中。 (我使用Dapper Micro ORM)不是硬编码sqlStatement或使用存储过程,我的想法是运行“学生列表”并将其插入到我的表中。但是为此,我需要在我的数据访问类库中对学生有依赖性。还有问题。我希望我的数据访问权限与Wpf Core应用程序分离。有人有主意吗?顺便说一句,我是编程新手。

解决方法

通常有一个带有实体和业务逻辑的Core项目。

您的WPF项目(即表示层)以及包括DAL在内的所有其他项目都将引用此Core App。


                     --------
                     | Core |    <- DAL
                     --------    <- WPF App

更传统的做法是:


              DAL  <-  Core (Business Logic)  <-  App

Microsoft维护了一些示例项目,其中包含您可以参考的实际示例。这是采用传统路线的UWP示例:https://github.com/microsoft/InventorySample 在截至47d779a的示例中,Inventory.Data项目是您的DAL,而Inventory.ViewModels是“核心”项目。

,

您应该查找工作模式单元(存储库模式)。 然后,您可能想一并查找SOLID-> 5条原则。

合并所有原则和模式,应该给出一些非常扎实的内容。

如果您正在寻找更具体的东西:

public interface ICreateStudent

   void CreateStudent(IStudent student){
       ...create DAL-student from interface,store created obj.

   }

//Generate this a partial class for implementing the IStudent interface,if your code is being 
//autogenerated by dapper. 
public partial class WPFStudent : IStudent
{

}

然后,您只需要引用接口,而不是对象本身。 另外,也许查找术语“组成根”。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...