Linq To Sql - 使用旧架构读取DB

时间:2014-08-07 07:48:59

标签: c# sql linq

我有一个DB(SQL CE 3.5),我首先使用代码写入数据库(比如版本-1)。   随着时间的推移,其中一个表(SAY TABLE1)签名已经更改(添加了一个新属性 - 比如ATTRIB1),现在当我尝试使用新表签名(代码中的模式)读取旧数据库时,代码可以理解地引发异常抱怨关于新的ATTRIB1(它存在于代码中但不存在于DB中)。

List<TABLE1> list= this.dataContext.TABLE1.ToList(); --> throws exception
  • 有什么方法可以忽略linq到sql中不存在的列。
  • 将数据库表读入“实体”并查询我需要明确的列的值。
  • 关于如何最好地处理数据库版本控制的任何想法。

感谢

1 个答案:

答案 0 :(得分:0)

Code First Migrations肯定是一个完整的方法。 我正在寻找便宜又开朗的东西:),通过为数据库版本的每个增量基本保存升级脚本来做到这一点。 因此,在阅读旧模式时,我首先通过逐步应用升级脚本将其升级到当前版本(这是我的项目可以使用的内容)。