问题标签 [columnmappings]
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.
session - Phalcon 模型在会话中被破坏
我在我的会话中存储一个模型。我在我的模型中使用列映射,因此如果数据库中的列名发生更改,我不必在整个应用程序中进行更改。因此,如果数据库中的“firstName”更改为“first”,我可以在整个应用程序中继续引用“firstName”。在我的测试中,我发现除非列映射键和值相等,否则该属性将始终在会话中存储为 null。
这将起作用:
这将起作用:
这将失败:
我预计不会更改数据库列名称,也不喜欢在数据库和应用程序中通过不同名称引用属性的不一致。但是,我想保持灵活性并确保这在我遇到需要此更改的情况时有效。
有谁知道为什么当列映射键值对不同时会话会破坏属性值?
c# - 使用 c# 上传时如何为 CSV 文件进行列映射
我们可以在上传 CSV 文件时进行列映射吗?
我有一个系统,它将上传 CSV 文件并将数据存储到 SQL Server 表中。但是表格的一些记录是错误的。
记录是错误的,因为数据被分成 2 行或更多行,但所有行都有相同数量的逗号,就像我们用于标题的逗号数量一样。所以这会导致在列中输入错误的数据。
因此,如果我可以在上传 CSV 时映射列并且它可以向我显示有错误的行,它可能会解决这个问题。
有人可以帮忙吗?
c# - SqlBulkCopy 在包含空格的列上失败
我知道我需要用方括号中的空格将任何列名括起来[]
。当我建立我的DataTable
专栏时,我会这样做。
然后,一旦我将所有数据作为行添加到 my 中DataTable
,我就会调用一个插入函数,该函数使用下面的代码来映射列。DataTable
和数据库表中的列名相同。
如果我在执行时设置断点ColumnMapping
,则col.ColumName
正确包含名称周围的方括号,其中包含空格。
但是,当它尝试调用该WriteToServer
方法时,它会失败并且异常说
给定的 ColumnName 'Name With Space' 与数据源中的任何列都不匹配。
为什么/在哪里去掉方括号,我该如何解决这个问题?
c# - 实体框架列映射
我在将对象属性映射到数据库函数中的列时遇到问题。
数据库函数返回一个名为 的列[On Hand]
。因此我的模型属性被称为OnHand
.
这显然不能正确映射并且无法正确检索该列的数据。
为了解决这个问题,我尝试了以下方法:
编辑模型以使用注释
使用流畅的 API
这些方法都没有一起工作或独立工作。
我可以让它在测试数据库上工作的唯一方法是将函数的返回列更改为[OnHand]
,但是,由于其他系统使用此函数,这不是在实时数据库上使用的选项。
任何人的任何建议将不胜感激
c# - 通过动态映射列的 SQL 大容量复制
我将文件数据读入数据集,并尝试通过映射列使用 SQL 批量复制进行批量插入。我在数据库中的所有列名都是从我的代码创建的小写字母。
我不确定为什么会出现“数据库中不存在指定的列”异常。虽然我看到了大容量复制对象中映射的所有列。请指教。
powershell - 使用“1”参数调用“WriteToServer”的异常
我有 powershell 脚本来将 xml 文件中的值插入到 sql 数据库中。
我面临的问题是我似乎无法将值插入 sql 数据库,因为错误表明数据源中的字符串值没有转换为目标列中的唯一标识符类型(基本上是 ScheduleId 和 AccountingPeriodCase_PK_ID sql 数据库中的列)。
我尝试在 columns.add() 期间将 [guid] 数据类型更改为 [uniqueidentifier],但它们都给了我错误。
脚本:
错误:
你能帮我解决错误吗?
ScheduleId 和 AccountingPeriodCases_PK_ID 的值:
entity-framework - EF Core - 为所有属性定义自定义列映射策略
按照惯例,每个属性都将设置为映射到与该属性同名的列。如果我想更改默认映射策略,我可以使用 Fluent API 或 Data Annotation 来完成。但是,我想为所有实体中的所有属性设置自定义映射策略到数据库列。我的数据库是存在的,列名是 ID、CUSTOMER_NAME、CREDIT_AMOUNT 等,所以列名不遵循 PascalCase 表示法。所有对象名称均为大写,单个单词用“_”符号分隔。这适用于整个数据库。我想将此命名映射到这样的类:
数据库很大,我不想将每个属性和类名映射到适当的数据库对象。是否有任何全局方式来定义这种类型的映射?
CustomerName -> CUSTOMER_NAME,CreditAmount -> CREDIT_AMOUNT 等等。
entity-framework-core - Entity Framework Core - 迁移从模型创建所有属性,而不是所需的
这些是我使用 EfCore 的开始(之前我在 nHibernate 和 Dapper 中)。我的映射有问题。
我的模型看起来像这样:
我的映射:
(其中 b 是在 IEntityTypeConfiguration 实现中收到的 EntityTypeBuilder。
如您所见,我从不使用 ValueIDontWantToBeInDb,但 EfCore 不断将其添加到表模式中。为什么会这样以及如何使它仅添加我想要的那些属性?
我知道有一个忽略方法。但是随后我将不得不在我不想添加到模式中的每个属性的每个模型上调用它。
我只想向 EfCore 展示——“嘿,像这样映射这些属性”——就像在 nHibernate 中一样。这个怎么做?
powershell - 如何将“Real”类型添加到 DataTable?
我正在将 csv 文件中的记录批量复制到 sql 表中。sql 表的列是 varchar,列是真实数据类型(基于我们给出的 csv 属性)
假设前 7 列是 varchar(100) 的外键,其余 80+ 列是 Real 数据类型。
在大容量复制期间,我使用了 Out-DataTable 函数,因为显然这是大容量复制的最有效方式(尤其是我们的文件包含 1000 条记录)。
但是,我收到以下错误:
现在我希望错误可以准确地指定哪一列,但根据我的研究,我发现这可能与被假定为所有列的字符串类型的数据类型有关。
使用以下内容进行验证:$column.DataType
所以问题是:我如何告诉数据表允许前 7 列是字符串,但其余的列是真正的数据类型?
这是代码:
也许是这样的?
伪代码: