所以我有 2 个数据库,1 个 SQLite 文件,每周更新一次(所以我需要每周运行一次此更新)。还有一个 SQLserver(但现在只使用 SQLfile 进行本地测试等)。但是我正在寻找一种简单的方法将所有数据从 SQLite 文件复制到 SQLserver,那里有 10 个类,它们存在于两个数据库中,除了 sqlite 在开始时没有大写字母,而 sqlserver 有。
sqlite 中有一个人表,其中包含 id、name 和 lastname。在 SQLserver 上,该表称为 Person(大写),列是 Id Name 和 Lastname。SQlite 文件由第 3 方提供,我无法决定他们做什么。SQLserver 是使用 Code First EF 制作的。(而且我更喜欢 CamelCase 这一切)。
有没有一种简单的方法来复制所有数据,例如,我正在寻找类的属性循环,然后再降低。
ForEach(var person in SQLiteDB.persons)
{
Person thenewperson = new Person();
foreach (var prop in person.GetType().GetProperties())
{
// Here I get stuck I want something like
if(thenewperson.Haspropertie.ToLower(prop.GetName.ToLower) // This is incorrect but I think you ll understand if we do a ToLower then we can get it to work. Since only capitals are the things that are different.
{
//Then we copy the data to "thenewperson"
}
}
SQlserverDB.Persons.AddorUpdate(thenewperson) // Not totaly correct but you get the point.
}
我不确定或者我的方向是正确的,我已经用谷歌搜索了如何循环属性,但没有找到复制数据的好方法。我也因尝试修复 VS 2012 以与 SQLite 一起工作而头疼,但 ADO.net 似乎无法正常工作,所以我不得不再次安装 VS2010 等等,哈哈(现在都运行)。
希望有人对此有很好的解决方案,如果您还有其他问题,请随时提出。
编辑:我忘了提到它也有一个导航属性。(如 PersonAbilitys)。其中也需要复制