问题标签 [poco]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - 使用 MS MVC 和 DDD,如何以及在何处定义涉及实体、值对象和一些额外字段的 MVC ActionMethod 参数类?
我正处于“啊哈!”的边缘。在编码领域驱动设计时。问题是如何以及在何处定义涉及实体、值对象和一些额外字段的 MVC ActionMethod 参数类? 实体和值对象类在我的存储库中定义。
我是否:
- 在实现其他类的存储库中创建一个自定义类(以在单个类中获取所有属性),并为额外字段添加更多属性?
- 在存储库中创建实体/值对象 poco 类,并在我的控制器类中创建一个引用这些对象的复合类,然后将其用作 ActionMethod 参数类型?
- 还有什么?
请求表单只是收集了一些客户类字段、一个邮寄地址和一些表单细节,比如他们是如何找到我们的。内容并不重要,只是它包含来自多个 pocos 的信息。
我知道 MVC 会将已发布表单的字段与 ActionMethod 参数中 Poco 的属性相匹配,如下所示:
因此 customer.firstName 会自动绑定到发布表单中的 firstName。
我有以下内容:
但想要有类似的东西:
有什么想法吗?
.net - 尝试使用 Entity Framework v4 保存对象 - 如何?
我使用Entity Framework v4
的是(VS2010 Beta 2 附带的)+POCO
的。我可以完美地将数据库中的数据加载到 poco 中。
现在,我有一个 poco 实例,我不知道如何使用 EF4 将其保存到数据库中。有人可以帮忙吗?我猜这是因为 EF4 不知道 POCO 已经“改变”了?无论如何,这是我正在尝试的代码,但它不起作用。(它会插入数据库,但不会使用 Identity 值更新 POCO。)
(基于良好的 ole Northwind 数据库...)
这段代码基于我对 Linq-To-Sql 所做的事情(效果很好!)一般逻辑流程是:-
- 获取现有对象。如果不存在,则创建一个新的。
- 设置此现有或新对象的所有属性。这会更新对象的状态。如果有任何更改,则该对象现在已被修改。否则它是新的。
- 保存对象。
那么,我可以用 EF4 重复这个概念吗?
干杯:)
.net - 对象到表格的亚音速自定义映射
我正在使用 Compact Framework 3.5,并暂时选择了 Subsonic 3.0 的自定义版本来进行数据访问。问题是我习惯于先开发模型,但也有兴趣控制我的数据库模式。因此,ActiveRecord 或 Repository 似乎都不能满足我的需求,我想使用我现有的 POCO 模型并将其映射到我现有的表。我习惯于通过 NHibernate 和实体框架来执行此操作。
经过一番调查,我似乎可以编写一个自定义 QueryMapping 来给我想要的自定义映射。然而,在我开始走这条路之前,我希望看到一些这样的例子。我似乎在网上找不到任何东西,想知道是否有人可以提供关于 Subsonic、模型优先和自定义 Table-per-Type 和 Table-per-Hierarchy 映射的经验。
entity-framework - Entity Framework 4.0 POCO 和多对多问题
我创建了映射到实体域模型中的实体的 POCO 域对象。直到现在我必须处理多对多关系时,一切都运行良好。
假设我有三张桌子。
- 博客
- BlogTag
- 标签
您可以看到 Blogs 和 Tags 是多对多的,带有一个桥表,BlogTag 包含两个表的外键。
我也有相应的领域模型:
- 博客
- BlogsTags
- 标签
现在,我选择了一个博客列表,并尝试从博客访问特定标签。
myBlog.BlogsTags[0].Tag
填写了 BlogTags[0].TagForeignKey,但是 BlogTags[0].Tag 为空!!
我也打开了 LazyLoading。
我可能做错了什么?
谢谢。
好的。这是一些源代码。
我的上下文类
我的 poco 类只有一个带有 virtual 关键字的相关对象列表。
nhibernate - 究竟什么是“执着无知”?
持久性无知通常被定义为持久化和检索标准 .NET 对象(或 POCO,如果你真的坚持给它们命名)的能力。标准 .NET 对象的一个看似广为接受的定义是:
“...普通课程,您专注于手头的业务问题,而不会出于与基础设施相关的原因添加内容...”
然而,我看到人们将 NHibernate 描述为一个允许忽略持久性的框架,但它是一个不能在任何标准 .NET 对象上工作的框架,只能在符合特定设计要求的标准 .NET 对象上工作,例如(来源):
- 所有类都必须有一个默认构造函数
- 除非类未密封并且所有成员都是虚拟的,否则某些功能将不起作用
- 除非您滥用 Equals/GetHashCode,否则对象标识无法正常工作
(旁白:在任何人不高兴之前,我并不是要在这里选择 NHibernate,它只是一个经常被引用的框架示例,据称它允许持久性无知。我确信类似的论点可以应用于其他声称相同的 ORM .)
现在,尽管该类本身没有任何持久性框架特定的属性或基类等,但对我来说,它并不是真正的“不了解持久性”,因为它必须遵循一组设计准则以方便所选持久性框架的使用。您必须考虑到持久性框架的要求来设计和实现该类;如果您对此一无所知,则该课程可能无法使用。
我对“持久性无知”/“POCO”的定义有疑问的地方是,我不明白从概念上讲,这与添加属性(例如[Serializable]
or [DataContract]
or[XmlType]
或任何其他持久性框架特定的注释)有什么不同这有助于使用该框架的实体的持久性和检索。
那么,究竟什么是“执着无知”呢?
显然,将其定义为能够持久化“普通类”是一个谬误,因为 NHibernate 仅在不引用特定于框架的类方面是普通的,而它们是非凡的,因为它们需要不寻常的设计选择,例如默认构造函数和所有- 可变类型的虚拟成员和 Equals/GetHashCode 实现。
因此,当对象有助于使用持久性框架(在设计和结构中或通过使用特定于框架的注释)但本身不执行任何持久性逻辑时,是否可以合理地说“持久性无知”是正确的?
c++ - 将枚举与 Pococapsule 一起使用(C++ IoC 容器)
有没有一种方法可以在 pococapsule 中提供枚举值作为方法参数而不诉诸工厂方法?
假设我有一个在其构造函数中采用枚举值的类
使用 Pococapsule xml 配置:我想表达如下内容:
但是,由于 pococapsule 的基本类型仅包括内置类型,例如 short、char 等,这是不可能的。
我将如何使用 pococapsule 实例化 A 类?
我可以求助于使用这样的工厂方法:
这不是很实用。我必须为使用的每个枚举的每个可能值实现一个新的工厂方法。
有些人会争辩说 enum:s 不应该在构造函数或 setter 方法中传递,因为它是一个类做了很多事情的标志。是的我同意。但是,有很多第三方代码和 c++ 框架使用这种风格,所以我需要能够做到这一点。
编辑:该问题已在 Pococapsule 的讨论论坛上解决。在这种特定情况下,解决方法是让工厂方法执行所需的操作。它不像在 xml-config 文件中声明 enum-use 那样灵活,但它推动了项目向前发展。谢谢你的帮助。
c++ - 完整的 C++“从头开始”框架
哪些 C++ 框架以 Ruby on Rails 的方式提供了完整的框架?
我认为 Poco C++ 做到了,还有其他选择吗?
c# - 实体框架 v4 -> 需要一些关于 POCO 和实体的帮助
我正在使用 EF4,并且我有两个实体希望映射到相同 POCO
的. 我不确定我该怎么做。
实体 1 → Foo(这表示 db 中的表 FOO)
POCO → Foo实体 2 → FooView(这表示 db 中的视图 FooView)
POCO → Foo
我知道我需要做类似的事情
但是当我尝试这个时,它会编译,但它会失败并出现以下异常:
System.ArgumentException:System.ArgumentException:指定的实体类型“MyProject.Core.Foo”与 EntitySet“FoosViews”中的“EntityFramework.SqlServerModel.FoosView”类型不匹配。
有什么建议么?
entity-framework - EF4 POCO 一对多导航属性为空
我正在使用 VS2010、EF4 功能 CTP(最新版本)和 POCO 对象,例如下面的示例:
为简洁起见,假设context
下面是 EF4 的上下文对象。我在实体类型和数据库之间有一个 dbml 映射,我像这样使用它没有问题:
此时,数据库有一个名为“Doug”的个人记录和一个帐户记录“foo”。我可以查询并找回那些记录就好了。但是,如果我尝试在保存 Person之前添加帐户,则 Accounts 列表为空(代理尚未在该属性上创建实例)。请参见下一个示例:
有没有其他人遇到过这个?更好的是,有没有人找到一个好的解决方案?
entity-framework - EF4 POCO - 更新导航属性
我有一个 Recommendation 对象和一个 FeedbackLevel 对象,FeedbackLevel 对象是 Recommendation 对象内的导航属性
推荐 int EntityKey; 反馈级别;
使用 AddObject() 插入一个新的就可以了。这是我正在尝试更新的内容,但它不起作用。
上面的代码基本上是我所拥有的压缩版本。更新标量属性工作得很好,但我无法更新新的导航属性,因为 avove 代码在没有任何更改的情况下成功!
我还尝试了其他一些方法,例如先获取现有的 Recommendation,然后再将 FeedbackLevel 重新分配给它,但没有任何运气。
更新:
这是我在保存调用期间从 sql 分析器捕获的内容:
看起来它甚至不知道需要保存 FeedbackLevel。我怎样才能让它触发它?