问题标签 [automapping]
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.
fluent-nhibernate - Fluent NHibernate + AutoMappings:生成的 SQL 中的神秘列
我从 NH 得到一个 SQL 查询,它正在生成一个不存在的列(因此从 NH 产生一个 ADOException)。
我的问题是我无法弄清楚该CreatedBy
列的来源。这是我的班级结构。
在应用程序启动时,我可以检查配置,并且可以看到ColumnIterator
Role 类映射。它在字典中有 4 个项目:id、user_id、roledescription 和 createdby_id。因此,基于配置的查询是合法的,但我无法根据类找出配置。
是的,我已经清除了我的 ASP.NET DLL 缓存,删除了 bin 和 obj 目录,以及我能想到的任何其他类似的东西。
编辑#1
这是我的 Fluently.Configure 声明
这是我的呼吁GetPersistenceModel()
我的自定义配置说只映射公共自动属性。这样我就可以将其他计算属性添加到我的域实体中。用户映射覆盖确保表名是[User]
,因为我只使用User
. Custom HasMany 约定为 all 设置 cascade all-delete-orphan 有许多关系。
编辑#2
这变得更好。这是在创建配置对象之后但在创建会话工厂对象之前的列迭代器。
看?映射列列表中没有createdby_id
列。这是创建会话工厂对象后的列迭代器。
现在有一个createdby_id
专栏。我现在真的迷路了。
编辑 3
好的,我想我现在正在做点什么。
上周我收到了客户的新要求。这个要求是他们想知道谁创建了一个任务。所以它有一个新的属性如下。
在我的分配表中,它现在有一个这样的列。
这个新列上的 User 表有一个 FK。
如果我注释掉这个属性,一切都会再次起作用。SQL 回到查询 by user_id
,这正是我期望的方式。是否有某种类型的覆盖可以用来防止这种情况发生?
nhibernate - 从 NHibernate 的集合中持久化删除操作
当我从集合(例如列表)中删除某个对象(或删除它)并从该集合的父级调用 SaveOrUpdate 时,子行不会被删除,而是通过将外键值设置为 NULL 来更新。
我怎样才能强制它被删除(子行)。
fluent-nhibernate - 我如何使用流利的 nhibernate 自动映射多对一关系
我有以下课程:
我如何在流利的 nhibernate 中自动映射这些类。
oracle - 在fluentNhibernate自动映射更改中更改约束名称
我正在使用 oracle 与 FluentNHibernate 自动映射与更改和 NHibernate 问题是如何通过覆盖映射模型来指定约束名称?
生成的sql是这样的:
我需要通过覆盖这样的映射模型将“FK_VerLongIdentifierLongerThan30Characther”更改为更小的标识符:
.net - 使用 AutoMapper 的复杂 DAL -> BL 映射
我正在考虑在即将到来的项目中使用AutoMapper并试图找到可能的“瓶颈”。目前我能想象的最复杂的情况如下:一个域类,由数据库中的 3 个(例如)表表示(我的数据访问层是 LINQ to SQL)。要构建类的实例,我需要执行 3 个查询:
- 从表 A 中按 ID 选择(1 行,直接转到
Class
属性) - 从表 B 中按 ID 选择(0..1 行,转到可选
Class.Code
属性) - 从表 C 中按 ID 选择(0..N 行,进入
Class.Parameters
集合)
而且我不确定如何配置映射。以下是我考虑的选项:
- 执行 3 次查询和映射
Tuple<A,B,C>
->Class
- 使用外连接组合查询 1 和 2(更有效)。但是我如何处理匿名类型?
- 将 datacontext 注入映射,定义
A
->Class
映射并让类型转换器完成工作?
没有一个看起来像胜利。你有什么建议?
编辑:嗯,这种复杂的情况很少见(10-20%),我可以手动完成,剩下的 80-90% 用 AutoMapper 就好了。但我想知道 AutoMapper 是否不是为此类策略而设计的,或者我错过了一些重要的东西。
fluent-nhibernate - 可以在 Fluent NHibernate FluentMappings 中定义过滤器吗?
在 Fluent NHibernate 中使用自动映射时,您可以执行以下操作:
我希望能够用 FluentMappings 做类似的事情,但我似乎无法找出类似的行为(过滤命名空间)。
fluent-nhibernate - Fluent NHibernate - automapping: allow null for single properties
I know this question has been raised in similar form multiple times, but none of the threads could give me the concrete answer to my question.
I use Fluent NHibernate and Fluent`s auto-mapping to map my domain entities. Right now, I use this convention class to set all properties NOT NULL:
The big question is:
What do I need to do, to allow single properties of my entity classes to be NULL?
Here is one of my entity classes:
I´d be really pleased, if someone can finally help me out! All possible search string I have entered into Google return pages, marked as already visited...
Thanks,
Arne
EDIT: Changed title ... Want to allow NULL for single properties
c# - 聚合根的流利 NHibernate 级联删除约定
问题是:如果从 type 继承,如何编写防止删除实体引用的约定Root
?
我正在使用流利的 nhibernate 和它的自动映射功能。默认开启级联删除。
一切都非常酷,直到我最终遇到了我需要实际删除引用另一个聚合根的情况。
我有根User
和Application
. User
注册Applications
。User
如果它被错误地注册了,那么角色可以删除它的时间间隔很小Admin
(我很确定我永远不需要这些数据)。
当User
removes时Application
,由于级联删除,nhibernate 会User
自行删除(具有讽刺意味的是......)。
我不确定如何仅为 Application->User 关联指定 SaveUpdate 级联:
诀窍:
此外,告诉 fnh 在哪里寻找覆盖:
nhibernate - Fluent NHibernate:如何更改自动映射字符串集合的底层 sql 类型?
我有一堂课:
当Fluent NHibernate自动映射IList<string> ChildPages
' ' 时,会创建一个 ' ' 连接表,其中包含集合中每个字符串的支持字段。ChildPages
nvarchar(255)
但问题是我希望 sql 支持字段为“ text
”,这样我就可以为该实体输入冗长的条目。
进行此更改的最简单方法是什么?
您如何更改自动映射的原始集合的底层类型?
另外,对于额外的点,您将如何使用约定或映射覆盖来做到这一点?
谢谢!
fluent-nhibernate - BuildSessionFactory 行中的 Automapping 和 FNH 异常
我正在使用最新版本的自动映射和 FNH 与 vs2008,我得到了这个异常“尝试添加属性‘描述’时已经添加”
首先,异常不提供信息!我无法找出导致此错误的类。
其次,我该如何解决这个问题?是因为我有一个抽象的“描述”属性吗?