【发布时间】:2012-04-30 19:37:14
【问题描述】:
我需要将数据从一个数据库传输到另一个数据库。目标数据库包含的数据量比源数据库少得多,每个表只是源表列的一个子集。我刚刚创建了目标 DBML,我得到了正确的编译错误,因为 L2S 数据类型(在目标 DBML 中)与源 DBML 中的 L2S 数据类型相同。
有没有办法在数据上下文之间共享这些类型?如果没有,有没有办法将源类型转换为目标类型,这样我就不必在保存到目标数据库之前创建映射器来将每个源类型映射到目标类型?
需要明确的是,在源 DBML 中,我只包含必要的列。这就是为什么源类型和目标类型完全相同,但它们属于它们自己的 DBML。
这个完全相同的表在两个 DBML 中:
这个问题很难正确表达。另一种问这个问题的方法是:“我可以从源表中获取数据,并将其保存到目标数据库,只使用源 DBML 中的一种类型吗?”
【问题讨论】:
-
你能在不同的命名空间中创建 DBML 吗?然后你可以编译和使用它们就好了。如果之后您想以更自动的方式映射它们(而不是为每个实体手动映射),那么像 AutoMapper 这样的东西应该能够提供帮助。
-
我可以,但是我仍然有尝试将源类型保存到目标数据库的问题。而且我认为这不会起作用,因为类型上有表属性。
-
我能够解密这些字段
标签: c# sql-server linq-to-sql datacontext