草庐IT

c# - 带有 EF6 的 System.data.Sqlite

我正在从事一个项目,该项目涉及以数据库优先的方法将SQLite与EF6连接起来。我已经安装了System.Data.SQLite(并确保它们的DLL在GAC中),并使用NuGet将依赖项添加到我的项目中。但是,当我尝试为已经存在的数据库创建模式(通过实体数据模型向导)时,出现错误YourprojectreferencesthelatestversionofEntityFramework;however,anEntityFrameworkdatabaseprovidercompatiblewiththisversioncouldnotbefoundforyourdataconnectio

.net - SQLite EF6 在运行时以编程方式设置连接字符串

我尝试将EF3.5迁移到6(使用SQLite作为数据库)。我们无法在应用程序配置文件中设置连接字符串(这对ef6没有问题)。我们必须在运行时以编程方式设置连接字符串(在用户选择了SQLite文件之后)。这是我们的app.config这是DbContextpublicclassFirmwareContext:DbContext{publicFirmwareContext():this(DEFAULT_CONNECTION){}publicFirmwareContext(stringconnextionNameOrString):base(connextionNameOrString){}

.net - SQLite EF6 在运行时以编程方式设置连接字符串

我尝试将EF3.5迁移到6(使用SQLite作为数据库)。我们无法在应用程序配置文件中设置连接字符串(这对ef6没有问题)。我们必须在运行时以编程方式设置连接字符串(在用户选择了SQLite文件之后)。这是我们的app.config这是DbContextpublicclassFirmwareContext:DbContext{publicFirmwareContext():this(DEFAULT_CONNECTION){}publicFirmwareContext(stringconnextionNameOrString):base(connextionNameOrString){}

【EF Core】主从实体关系与常见实体关系的区别

上次老周扯了有关主、从实体的话题,本篇咱们再挖一下,主、从实体之间建立的关系,跟咱们常用的一对一、一对多这些关系之间有什么不同。先看看咱们从学习数据库开始就特熟悉的常用关系——多对多、一对一、一对多说起。数据实体之间会建立什么样的关系,并不是规则性的,而是要看数据的功能。比如你家养的狗狗和水果(你家狗狗可能不吃水果,但老周养的动物基本是什么都吃的,因为从它们幼年起,老周就训练它们,对食物要来者不拒,就算哪天它们不想跟着老周混,出去流浪也不会饿死,适应性更强)。假设:1、你的数据是以狗狗为主,那么一条狗狗会吃多种水果。即狗狗对水果是一对多;2、你的数据以水果为主,每种水果单独记录,然后在另一个表

.NET使用EF批量插入数据,一行代码性能飙升!

背景小编最近接到一个任务,批量获取内部网站用TXT生成的日志,在闲时把日志插入到MySql数据库做分析。为了快速开发小编选择了EntityFrameworkCore,很快开发完成了。测试数据不是很多,批量插入数据很快完成,效率很高。但是部署到线上问题来了,最开始也挺快,越到后面越慢,慢的无法接受。于是查询了一下官网和某度,只需加一句代码就可以让EF批量插入数据飙升。代码示例开始的批量添加代码:publicasyncvoidAddRangeAsync(Listentities){await_dbContext.AddRangeAsync(entities);    await _dbContex

使用EF6(DB First模式)无法生成对应模型实体类

最近升级了,VisualStidio2022,在使用EF6时(DBFirst模式),无法生成对应模型的实体类,如下: 对于该问题,我去微软社区,找到了两个解决方案:1.从VisualStudio202216.x版本回滚到VisualStudio202215.x版本即可解决问题;2.修改EF6的实用程序.CS.ttinclude,它默认的位置在:C:\ProgramFiles\MicrosoftVisualStudio\2022\Professional\Common7\IDE\Extensions\Microsoft\EntityFrameworkTools\Templates\Include

c# - 在 EF Code First 中跟踪 SQL 查询

我正在使用EntityFrameworkCodeFirst,我希望能够记录DbContext生成的所有SQL查询。在Linqtosql中有一个数据库日志,但我似乎无法在EF中找到它。然后我可以将它们放入日志或将其输出到页面。我使用的是4.1.0.0版的EntityFramework程序集。 最佳答案 您最好的选择是使用EntityFrameworkProfiler,尽管不幸的是它不是免费的。您还可以通过在IQueryable本身上运行ToString()来手动获取它将生成的SQL,但这必须在每个查询上完成基础。最后一个选项是,如果您

c# - 在 EF Code First 中跟踪 SQL 查询

我正在使用EntityFrameworkCodeFirst,我希望能够记录DbContext生成的所有SQL查询。在Linqtosql中有一个数据库日志,但我似乎无法在EF中找到它。然后我可以将它们放入日志或将其输出到页面。我使用的是4.1.0.0版的EntityFramework程序集。 最佳答案 您最好的选择是使用EntityFrameworkProfiler,尽管不幸的是它不是免费的。您还可以通过在IQueryable本身上运行ToString()来手动获取它将生成的SQL,但这必须在每个查询上完成基础。最后一个选项是,如果您

c# - EF4 将 DynamicProxies 转换为基础对象

我正在使用EntityFramework4和POCO模板。我有一个列表,其中MyObject是动态代理。我想使用XmlSerializer序列化此列表,但我不希望将它们序列化为DynamicProxies,而是作为底层POCO对象。我知道ContextOptions.ProxyCreationEnabled,但我不想使用它。我只想知道如何将代理对象转换为底层POCO以进行序列化。 最佳答案 今天遇到同样的问题并使用了ValueInjecter解决它。很简单:vardynamicProxyMember=_repository.Find

c# - EF4 将 DynamicProxies 转换为基础对象

我正在使用EntityFramework4和POCO模板。我有一个列表,其中MyObject是动态代理。我想使用XmlSerializer序列化此列表,但我不希望将它们序列化为DynamicProxies,而是作为底层POCO对象。我知道ContextOptions.ProxyCreationEnabled,但我不想使用它。我只想知道如何将代理对象转换为底层POCO以进行序列化。 最佳答案 今天遇到同样的问题并使用了ValueInjecter解决它。很简单:vardynamicProxyMember=_repository.Find