我正在开发一个客户端-服务器应用程序,其中服务器作为REST服务运行并连接到SQL服务器。类是从 *.dbml 文件 (LINQ->SQL( 自动生成的。
我的问题是:我应该为服务器和客户端之间的数据交换创建新类,还是只在两端使用生成的类?
使用从 *.dbml 生成的相同类 - 优点
-
更好的可持续性(自动生成数据约束(
-
降低在两个数据对象之间复制数据导致数据错误的可能性 -(模型是自动生成的,您无需维护将值从生成的模型复制到另一个模型(
-
更好的速度。您只需要在服务器上创建模型的一个实例。
- (当你有类 A 和类 B 代表相同的数据时,你必须创建这两个类的实例(
使用从 *.dbml 生成的相同类 - 缺点
- 客户端确切地知道数据库表结构和使用的数据类型
您缺少的一个"缺点"是,使用相同的模型可能意味着您传输的数据比需要的要多。
在客户端和服务器之间使用特定的协定意味着只有客户端需要的数据通过网络发送。