问题标签 [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.

0 投票
2 回答
379 浏览

c# - 如何将此 LinqToSql 数据提取到 POCO 对象中?

使用我的 Repository 类,我用来LinqToSql从存储库中检索数据(例如,在我的示例中为 Sql Server 2008)。我将结果数据放入一个POCO对象中。效果很好:)

现在,如果我的POCO对象有一个子属性(它是另一个POCO对象或 IList),我正在尝试找出一种填充该数据的方法。我只是不太确定该怎么做。

这是我的一些示例代码。请注意我设置的最后一个属性。它可以编译,但它不是“正确的”。这不是 POCO 对象实例 .. 我不确定如何编写最后一行。

笔记:

  • Database.Files => 文件表。
  • Database.FilesUserAccess => FilesUserAccess 表 .. 哪些用户可以访问 GameFiles / Files 表。

更新

我现在有一个建议将孩子们的结果提取到他们各自的POCO班级中,但这就是Visual Studio Debugger班级所说的:-

替代文字

为什么它是一个System.Data.Linq.SqlClient.Implementation.ObjectMaterializer<..>

.Convert<Core.GameFile>而不是List<Core.GameFile>包含POCO's?

有什么建议/我做错了什么?

更新 2:

这就是我为将儿童数据提取到他们各自的 poco 中所做的工作。

0 投票
2 回答
187 浏览

sql-server - 使用表继承是避免使用连接表的有效方法吗?

我一直在为这个项目遵循主要是 DDD 方法,所以,像任何 DDD'er 一样,我首先创建了我的域模型类。我的意图是将这些 POCO 用作我的 LINQ-to-SQL 实体(是的,它们不是纯 POCO,但我可以接受)。我已经开始创建数据库模式和外部映射 XML 文件,但是在建模实体的关系和关联时遇到了一些问题。

工件代表一个文档。工件可以与任务或案例相关联。Case 实体如下所示:

由于 Artifact 可以与 Case 或 Task 相关联,因此我可以选择在 Artifact 类上使用继承来创建 CaseArtifact 和 TaskArtifact 派生类。然而,这两个类之间的唯一区别是是否存在案例字段或任务字段。当然,在数据库中,我将有一个表 Artifact,其中包含类型鉴别器字段以及 CaseId 和 TaskId 字段。

我的问题:这是解决此问题的有效方法,还是为每个关联(总共 2 个新表)创建一个连接表是更好的方法?

0 投票
2 回答
3832 浏览

c# - NHibernate POCO / 基础

我以前使用过 L2S,现在正在考虑在一个项目中使用 NHib 和 Sharp 架构。我已经开始制作原型并遇到了我不知道如何用谷歌搜索的第一个问题。

给定一个具有一些简单属性和一个参考属性的 POCO(类别 - 此处未显示的类):

如果我想说以表格格式生成帖子摘要,这很方便 - 如果我想要一个名为“类别”的列并且我想显示类别标题,我可以简单地使用 Post.Category.Title。

然而,用户创建了一个新帖子(他们从下拉列表或类似列表中选择一个类别)。他们点击提交,我新建了一个 Post 对象。但是,在我可以保留新帖子之前,我必须检索类别的一个实例(按 id)以分配给类别属性?

如何两全其美?如果我更新 Post POCO,使 Category 成为 int,我可以更简单地创建新实例。但是对于一些现在必须解析给定 Id 的类别名称的渲染代码来说更难?

我觉得我在这里缺少一些基本概念?

我知道使用 Linq to Sql 给定一个架构,其中 Post 表有一个名为 CategoryId 的整数外键列,会生成基础表列 (CategoryId) 和包含外键行的 EntitySet。

如何在 NHibernate 中实现类似的功能?这一般是如何管理的?

谢谢

0 投票
0 回答
730 浏览

entity-framework - 实体框架 EDM.Binary 映射到 VB 类型

我正在使用带有最新版本 EF 4.0 的 POCO,并在我的 SQL Server 2008 db 上有一个时间戳字段来处理乐观并发。

设计者已经为实体类型为二进制的字段创建了一个映射。这应该如何在我的 VB POCO 中表示,因为那里没有 EDM.Binary?当我将该字段作为字节数组时,我收到错误:

概念侧类型“SchoolModel.Course”中成员“RowVersionNr”的类型“Edm.Binary”与对象侧类型“EFLibrary.Course”中成员“RowVersionNr”的类型“System.Byte”不匹配.

0 投票
2 回答
848 浏览

.net - 用于 C++ 实现的 Pop3 帮助!

好吧,所以这绝对是要了我的命......如果有人能帮助我,我会是地球上最幸福的人......

所以,我需要为学校的一个项目创建一个 C++ 电子邮件客户端,并且我一直在使用 POCO 开源 C++ 库,并且我可以很好地使用不需要 SSL 身份验证的电子邮件服务器,但是任何需要确实需要 SSL,我没有运气...

这是 POCO 的文档:http: //pocoproject.org/docs/

当你去那里时,你必须点击 POCO:Net,然后在左下角的框架中,有一堆不同 NET 对象的文档……我一直特别使用 POP3ClientSession。

我已经安装了 OpenSSL 并编译了支持 SSL 的库,但似乎没有任何效果......我也遵循了本教程: http: //pocoproject.org/wiki/index.php/NetSSL

如果有人有 POCO 的经验,或者在 SSL/C++ 上只有 1337,如果你能帮助我完成这项工作,我将非常感激!在过去的 12 个小时里,我一直在努力解决这个问题,只是为了让 SSL 正常工作,并且运气为 0。

好吧,我什至不太确定的一件事是我是否使用 SSL 正确编译了它……我在我的机器上安装了 OpenSSH,然后重新编译了所有内容(花了一个小时!!!)。我似乎已经编译了所有内容,但是当我将它与以下包含语句一起使用时:

这是文档告诉我要做的,我得到了一个错误......他们在一个名为 NetSSL_OpenSSL 的文件夹中编译,所以我把标题和源代码复制到 Net 文件夹中的适当位置,希望它能够工作。之后我得到另一个错误:

但是我确实有 X509Certificate.h 文件...我什至将源中的 Crypto 更改为 Net(因为它现在保存此文件的 net 文件夹),但正如我所料,这在我面前爆炸了...

所以,我想主要问题如下:

如何使用带有 SSL 套接字的 POP3 而不是 POP3ClientSession 使用的标准套接字发送电子邮件?

0 投票
5 回答
2302 浏览

.net - 实体框架 v4 - POCO 与仅代码之间有什么区别?

我的印象是

  • EF 与 POCO:允许您将自己的 POCO 映射到模型 (.edmx) 上的实体。
  • EF Code-Only:没有edmx/模型设计器(即 CSDL/SSDL/MSL(统称为 EDMX)元数据)。仍然是 POCO,但映射、关系、导航等都是手动编码的(因此只有代码,描述)。

如果对这两个概念的描述(或多或少)是正确的,那么为什么有人会用 POCO 做一个 Code-Only 而不是 EF 呢?

两者都在做 POCO,但第二个有额外的负担,必须手动进行映射?

0 投票
2 回答
356 浏览

.net - 如何在自己的 C++ 项目中包含外部库?

所以我对 C++ 很陌生,我基本上整个学期都在为一门课编写代码。对于我们的最终项目,我们使用 .NET 用 C++ 制作了一个电子邮件客户端,为了完成所有的电子邮件发送和接收,我们使用了 POCO 电子邮件客户端。

现在,基本上为了使用 POCO 库,我已经编译了它并做了很多事情,例如使用我编译的路径(在桌面上)将包含和库添加到项目中,并且我还必须将路径添加到 windows 路径。

所以,我的问题是,如果我希望能够将 POCO 库打包到我的项目中,我将如何做到这一点?我真的找不到任何地方的教程,任何帮助将不胜感激。

谢谢!:)

0 投票
2 回答
1156 浏览

.net - 延迟加载的 POCO 对象

我是 ASP.NET MVC、IoC、POCO 等的新手。所以我想知道使用这种架构是否可以。

这是我的演示项目。

Project.Core所有项目引用的这个程序集

看起来不错,但是我怎样才能以这种方式使用延迟加载呢?我不想在每次获取User时都获取UserGroups

我的想法是这样修改我的User类:

我的解决方案有什么缺点?我不喜欢我的 POCO 对象使用IUserGroupService实例。

0 投票
3 回答
296 浏览

.net - 使用 .Net 和另一个外部库为项目创建单个 EXE 文件

我有一个为我们需要作为单个 EXE 运行的类创建的电子邮件客户端。它由 C++ .NET 和具有大量 DLL 文件的外部 POCO 库制成……实现这一目标的最佳方法是什么?

我正在寻找一些类似的问题,有些人推荐了ILMerge和 Ezirez 等工具,但问题只要求为 .NET 制作单个 EXE 文件,但我希望它同时用于 .NET 和第 3 方外部 POCO 库.

0 投票
2 回答
2238 浏览

entity-framework - Entity Framework 4 中 POCO 实体的每个层次结构继承表

一旦 v4 发布,我们的组织正在寻求对 Entity Framework 进行标准化。因此,我正在研究如何使用 POCO 支持将使用 NHibernate 进行持久性的应用程序迁移到 EF4。在一些地方,我们使用单表继承(也称为 Table Per Hierarchy)。我无法使用以下方法使其工作。

支付(基类[应该是抽象的,但也有问题]) CreditCardPayment(具体实现) ACHPayment(具体实现) CheckPayment(具体实现)

现在,我只使用基类属性映射它们。所有这些类都在同一个命名空间中。他们在数据库中有一个称为 PaymentTypeId 的鉴别器,因此 Payment 映射具有“当 PaymentTypeId = 0”的条件。每个子类具有相同的条件,但具有不同的值(即 CreditCardPayment = 1 等)。

当我尝试使用 DataContext.Payments.ToList()(DataContext 继承自 ObjectContext)加载所有付款的列表时,我收到以下异常:

“找不到标识为‘DataLayer.DataModel.CreditCardPayment’的类型的对象映射。”

我不知道这意味着什么,因为 POCO CreditCardPayment 类与 POCO Payment 类位于同一个命名空间中(实际上在同一个文件中)。

我错过了什么?