【发布时间】:2013-11-22 19:12:03
【问题描述】:
我有一个现有的(加密的)SQLite DB,我想动态解密并将其加载到内存中。有谁知道我如何告诉 c# .NET Entity Framework 使用我的“内存中”-DB?!
也许@App.Config 有一个选项?!我不希望我的数据库在 HDD 上被解密。
问候, 双空
编辑: 我想将整个 SQLite DB 加载到内存中(例如:变量、字节流......)并告诉 EF 与该对象/流进行通信。 我不想在我的 App.Config 中有这样的连接字符串:
<connectionStrings>
<add name="Chinook_Sqlite_AutoIncrementPKsEntities" connectionString="metadata=res://*/EF.Model1.csdl|res://*/EF.Model1.ssdl|res://*/EF.Model1.msl;provider=System.Data.SQLite;provider connection string="data source=EF\Chinook_Sqlite_AutoIncrementPKs.sqlite"" providerName="System.Data.EntityClient" /></connectionStrings>
</configuration>
【问题讨论】:
-
当你加载
Entity Container它是In-Memory。 -
它会调用你的数据库。
-
通常,我在连接字符串中告诉 EF 在哪里可以找到我的 SQLlite DB。但我首先想将它加载到内存(变量)中,然后将其“附加”到 EF ......所以 App.config 中没有 ConnectionsString
-
当然,
Entity Model存在重载,您可以在其中提供带有Entity Model初始化的连接字符串。 -
@DonA:好的,但是连接字符串必须指向本地硬盘上的文件,对吧?!我想指向内存中的一个对象。
标签: c# .net sqlite frameworks entity