![](/img/trans.png)
[英]EF, Do i really have to create an entity in the db before being able to relate it?
[英]Do I have to really create multiple models?
历史上的 MS 堆栈开发人员。
我已承诺对以下堆栈进行重组
angular -> ms web.api2 -> C# business objects -> sql server
年纪大了,我从需求开发数据库并使用 Codesmith 生成业务逻辑层。 (是的,我听说过实体框架。甚至尝试过一次)。
当我拥抱 Angular 和 web API 2
我发现Angular要我在前端写一个model。 这似乎只是一个数据结构,我什至无法为其添加辅助方法
因此,我也经常使用辅助方法编写 class,该方法采用 model 的实例。 有点丑,但它确实结合了结构和逻辑。
我发现 Web API2 要我写一个 model。 这似乎又只是一个数据结构。 我正在探索动态数据类型,但实际上这并没有给我太多帮助。 我没有写 class,而是写了一个映射 function。
问题是这样的:
有没有办法让每个 class 的 3 个以上副本分布在堆栈中? Codesmith 是一个非常强大的代码生成器......它可以生成多个文件......但是......
如果它只有几个数据成员和 3 个位置,我可以复制粘贴编辑并完成它。
在我看来,现在致力于在 3 个不同的环境中保持数据结构同步正在为大量工作做好准备。
在过去的 15 年中,我一直在尝试将尽可能多的代码放入可继承类的框架中,这样我就可以保持 DRY。
我错过了什么吗? 有什么可以推荐的模式吗?
[我知道这不是为 SO 量身定做的问题,但它是所有聪明人购物的地方。 如果您觉得有必要这样做,请投票给我。]
不完全熟悉 CodeSmith 如何生成它的类,但如果它们只是可以很好地序列化的普通旧 CLR 对象,您可以让 WebApi 将它们直接返回到您的 Angular 应用程序。 有些纯粹主义者会对此不以为然,但根据应用程序,可能会有理由。
然后,在 Angular 的世界中,您有几个选项,再次取决于您的要求/理由和您的应用程序 - 再一次,纯粹主义者肯定会不赞成某些选项。
就个人而言,使用实体框架,我(手动)创建用于数据库交互的 POCO,有一个“视图”/DTO class,然后 WebAPI 将发送回客户端,以及 Z9327DAFFB33041504F28Z 中 object 的定义,3 但我是 amcc99 一个控制怪胎,并且不喜欢生成的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.