草庐IT

c# - 如何从 C# 中的 SQL 查询结果填充类?

我有这样一个类:publicclassProduct{publicintProductId{get;privateset;}publicintSupplierId{get;privateset;}publicstringName{get;privateset;}publicdecimalPrice{get;privateset;}publicintStock{get;privateset;}publicintPendingStock{get;privateset;}}我可以像这样从我的数据库中获取这些详细信息:SELECTproduct_id,supplier_id,name,pric

c# - ADO EF - TPH 中派生类型之间的错误映射关联

背景我正在使用.NETFramework3.5SP1在VisualStudio2008SP1中使用ADOEntityFramework编写数据访问库。我正在尝试在两个都派生自抽象类型的实体之间创建关联。我使用TablePerHierarchy表示两个实体继承层次结构(TPH)这意味着只有两个表-每个实体继承层次结构一个。注意您可以使用TablePerType(TPT)来避免这个问题,但它有它自己的缺点。参见here和here在继承持久性模型之间进行选择时了解更多详细信息。这是实体模型的设计器View的屏幕截图:这是数据库架构的屏幕截图:假设当您在ADOEntityFrameworkDe

c# - 依赖注入(inject)与大规模 ORM : dynamic trouble

我已经开始处理一个MVC3项目,该项目需要来自现有庞大数据库的数据。我的第一个想法是继续使用EF4.1并创建一堆POCO来表示我需要的表,但我开始认为映射会变得过于复杂,因为我只需要一些一些表格中的列。(感谢Steven在评论中的澄清。所以我想我会给MassiveORM一试。我通常使用工作单元实现,这样我就可以很好地解耦所有内容并可以使用依赖注入(inject)。这是我对Massive的一部分:publicinterfaceISession{DynamicModelCreateTable()whereT:DynamicModel,new();dynamicSingle(stringwh

c# - 默认 Entity Framework 超时

EF查询的默认超时是多少?我试图通过检查context.CommandTimeout来找出答案,但它返回null。我还查看了连接字符串中的网络配置,寻找类似ConnectTimeout=的内容,但默认情况下似乎不存在。 最佳答案 对象查询和SaveChanges操作的默认超时由底层连接提供程序定义。由于EntityFramework可用于许多连接提供程序、mysql、sqlserver等,并且都有不同的默认超时!所以null表示将使用默认超时,如果您想知道默认超时是多少,则取决于您使用的连接提供商!

c# - Entity Framework 核心 : Update relation with Id only without extra call

我正在尝试弄清楚如何处理thisdoc:中描述的“单一导航属性案例”假设我们有2个模型。classSchool{publicICollectionChildrens{get;set;}...}和classChild{publicintId{get;set;}...}因此它是按照约定创建的多对一关系,Child中没有显式外键。所以问题是如果我们有Child实例并且知道School.Id有没有办法更新这个关系而不需要额外调用数据库来获取School实例。 最佳答案 SothequestionisifwehaveChildinstance

c# - CodeFirst 加载 1 个链接到 25 000 个子级的父级很慢

我对我的性能问题进行了大量搜索并尝试了各种不同的方法,但我似乎无法让它足够快地运行。这是我的最简单形式的问题:我正在使用EntityFramework5,我希望能够在用户选择父项时延迟加载父项的子实例,这样我就不必拉取整个数据库。但是,我一直在延迟加载child时遇到性能问题。我认为问题在于父级和子级之间导航属性的连接。我还认为这一定是我做错了什么,因为我相信这是一个简单的案例。所以我提出了一个程序来测试单个延迟加载以隔离问题。这是测试:我创建了一个POCO父类和一个子POCO类。Parent有n个Children,Child有1个Parent。SQLServer数据库中只有1个父项,

c# - 使用哪个ORM?

我正在开发一个包含这些类的应用程序:classShortcut{publicstringName{get;}publicIListTriggers{get;}publicIListActions{get;}}classTrigger{publicstringName{get;}}classAction{publicstringName{get;}}我将有20多个类,它们将派生自Trigger或Action,所以最后,我将有一个Shortcut类,15个Action派生类和5个Trigger派生类。我的问题是,哪种ORM最适合这个应用程序?EF、NH、SubSonic或也许是其他东西(L

c# - 关于如何从域(ORM)对象映射到数据传输对象(DTO)的建议

我正在使用的当前系统使用CaSTLeActiverecord在域对象和数据库之间提供ORM(对象关系映射)。这一切都很好,而且在大多数时候实际上效果很好!问题来自CaSTLeActiverecords对异步执行的支持,更具体地说,是管理对象所属session的SessionScope。长话短说,不好的事情发生了!因此,我们正在寻找一种方法,可以轻松地将域对象(知道数据库存在并关心)转换(自动思考)到DTO对象(对数据库一无所知并且不关心session、映射属性)或所有ORM)。有没有人对此有建议。首先,我正在寻找对象的基本一对一映射。域对象Person将被映射为PersonDTO。我不

同时支持开发JavaWeb,手机APP(安卓,鸿蒙),大数据,关系型DB,NoSQL等--互联网时代的ORM 工具--Bee

同时支持开发JavaWeb,手机APP(安卓,鸿蒙),大数据,关系型DB,NoSQL等--互联网时代的ORM工具--BeeBee,一个简单,易用,功能强大(编码少、开发速度快,运行快)的JAVAORM框架。Bee简单易用:单表操作、多表关联操作,可以不用写sql,极少语句就可以完成SQL操作;概念简单,10分钟即可入门。Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化;具有分布式特性。高级要求,还可以方便自定义SQL语句。运行速度接近直接用JDBC的速度。Bee功能丰富:同时支持JDBC(比如JavaWeb),Android和Harmony;支持Shard

C# 数据库访问 : DBNull vs null

我们在这里使用自己的ORM,并为我们所有的数据库表提供强类型包装器。我们还允许执行弱类型的临时SQL,但这些查询仍然通过同一个类从数据读取器中获取值。在调整该类以与Oracle一起工作时,我们遇到了一个有趣的问题。使用DBNull.Value还是null更好?使用DBNull.Value有什么好处吗?使用null似乎更“正确”,因为我们已经将自己与DB世界分开,但是有一些含义(例如,当值为null时,您不能盲目地使用ToString())所以这绝对是我们需要有意识地做出决定的事情。 最佳答案 我发现使用null比使用DBnull更好