实体框架/ Azure Web服务模型设计

时间:2014-02-02 23:51:03

标签: c# asp.net-mvc entity-framework azure

我正在进行一些原型设计并拥有一个小型数据库(4个相关表),我开发了一个Entity Framework 6项目(带有表格模型的DLL)。我已经在包含模型文件夹下的Repository接口/实现的解决方案中添加了一个ASP.NET MVC 4 Web App。存储库为EF项目添加CRUD操作的接口。 Web App有一组控制器,通过存储库提供REST接口。我相信标准的东西。

我遇到的问题是我想在EF中定义包装类型(模型)的聚合类,并返回该聚合以响应Get请求。问题是我在哪里定义这个聚合对象? EF项目? (如何?)。一个独立的类库(可由客户端使用)?网络应用程序?

尝试将所有模型定义保留在客户端和Web App服务同时理解的相同位置。

由于

1 个答案:

答案 0 :(得分:2)

我相信你想要的是DTO(数据传输对象)模式。有关模式的基本说明,请参阅herehere。我们的想法是定义一组与数据访问对象(在您的情况下为EF类)不同的类,其目的是在REST接口和客户端之间中继数据。如果你有C#客户端,为了简单起见你想让类定义可见,那么我建议把DTO类定义放在他们自己的类库项目中,让服务器和客户端都引用那个dll。