Tag: mysql

MySQL的entity frameworkdefaultConnectionFactory

当我将connectionString名称指定为基础构造函数的参数时,以下配置正常工作。 因为我希望以后能够在不重新编译的情况下更改默认提供程序,我想在我的app.config设置它,但我不知道提供什么作为defaultConnectionFactory type 。 例外: 无法将Database.DefaultConnectionFactory设置为应用程序配置中指定的“MySql.Data.Entity.MySqlConnectionFactory,EntityFramework”类型的实例。 请参阅内部exception了解详细信 内部exception(已翻译,VS设置为英语但有些消息仍为我的语言): 无法在程序集“EntityFramework”中加载“MySql.Data.Entity.MySqlConnectionFactory”类型 文档说明程序集名称MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6冒号,因此我也尝试了MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6 ,给我这个例外: 初始化字符串的格式不符合从索引0开始的规范。 我正在使用EF6,MySql.Data和MySql.Data.Entity.EF6 6.8.3.0。

收听MySQL中的数据库更改

我有一个网页,我使用CRUD操作在MySQL表中进行一些数据操作。 桌面客户端应用程序有很多正在运行的实例,它们与同一个数据库通信,每次我通过网页对这个数据库进行更改时,所有这些客户端都需要收到有关更改的通知。 我真的不知道如何处理这个问题的最佳方法。 桌面客户端应用程序是用C#编写的。 另外我知道,至少在使用ADO.NET提供程序的MySQL中,无法异步通知桌面客户端数据库中发生的更改。 当客户端应用程序定期创建数据库连接并检查MySQL表的更改时,有一个选项。 但是,如果我们有1000个正在运行的实例并且每个实例创建连接并且每2秒读取同一个表,该怎么办? 难道不是非常耗费数据库服务器资源吗? 此外,我们可以在插入/更新/删除时编写触发器,这些触发器填充另一个关于所做更改的表,之后我们将轮询这个新的“changes_made”表。 此外,还有一个选项可以创建套接字服务器,轮询“changes_made”表,如果进行了更改,则将更改数据发送到所有桌面客户端,这些客户端在此上下文中是套接字侦听器。 因此,我们将摆脱客户端进行的轮询,并显着减少数据库连接和数据库负载的总量。 在这里,我想知道什么是解决此类任务的最正确和可扩展的方法。

MySql“选择位置”和C#

如何从“Select Where”语句中读取返回值,每次运行时都没有返回值出现在标签中,并且没有语法错误。 command.CommandText = “select product_price from product where product_name='”+x+”‘;”; connection.Open(); Reader = command.ExecuteReader(); while(Reader.Read()){ Price_label.Content = “” + Reader.GetString(0); } connection.Close();

ServiceStack:测试OrmLite,与NuGet一起安装,但是我收到错误“FileNotFoundException”

我刚刚在Visual Studio 2012中通过NuGet安装了OrmLite(用于MySql)。 安装过程没有任何错误,所有DLL:s似乎都被添加为参考: ServiceStack.Common (3.9.70.0) ServiceStack.Interfaces (1.0.0.0) ServiceStack.Text (3.9.70.0) ServiceStack.OrmLite (3.9.70.0) ServiceStack.OrmLite.MySql (3.9.70.0) 编译没有错误。 但是,当我运行此行时: dbConnCommOrm.CreateTableIfNotExists(); 然后我收到这个错误: 无法加载文件或程序集’ServiceStack.Common,Version = 3.9.69.0,Culture = neutral,PublicKeyToken = null’或其依赖项之一。 该系统找不到指定的文件。 ServiceStack.Common dll引用(通过NuGet)是版本3.9.70.0所以它不是很奇怪它找不到3.9.69.0。 问题是:为什么我需要3.9.69.0才能安装3.9.70.0? NuGet“脚本”(或者有效)是否有问题,或者我错过了什么? 奇怪的是,即使我在上面提到的行上得到一个例外,仍然可以正确创建表“ModuleSettings”! 此外,从GitHub下载ZIP文件并从那里解压缩DLL也不起作用:在ServiceStack.OrmLite-master \ lib中有三个第一个文件(见上文),由于某种原因,我发现ServiceStack.Ormlite.dll in ServiceStack.OrmLite-master \ lib / signed文件夹,但ZIP文件中没有ServiceStack.OrmLite.MySql.dll 。 我还可以补充说,安装旧版本也不起作用。 我试过这个: http : //www.nuget.org/packages/ServiceStack.OrmLite.MySql/3.9.69 PM> Install-Package ServiceStack.OrmLite.MySql -Version 3.9.69 它仍然安装了ServerStack.Common / Text v […]

entity framework在where子句中添加了额外的条件

我已经确定在执行以下表达式时: int aNum = 52; var myArtifacts = mydbcontext.artifacts.Where(a => a.ParentID == aNum ).ToList(); 在mysql上执行的查询是: SELECT `Extent1`.`ID`, `Extent1`.`ParentID` FROM `artifacts` AS `Extent1` WHERE ((`Extent1`.`ParentID` = 52) AND (52 IS NOT NULL)); 任何人都可以解释为什么添加这个最后的额外条件? AND(52不是空))

MultiThreading错误:已经有一个与此Connection关联的打开DataReader,必须先关闭它

我有一个Parallel.Foreach循环 var options = new ParallelOptions(); options.MaxDegreeOfParallelism = 1; Parallel.ForEach(urlTable.AsEnumerable(),drow => { using (var WCC = new MasterCrawlerClass()) { WCC.MasterCrawlBegin(drow); } } 这个循环调用类并循环遍历我的所有DataRows,但是每个数据行都执行DataTable填充,或者对MySQL DB执行更新命令。 我对这两个代码的代码如下。 private static DataTable DTTable(string mysqlQuery, string queryName) { DataTable DTTableTable = new DataTable(); try { MySqlDataAdapter DataDTTables = new MySqlDataAdapter(mysqlQuery, MySQLProcessing.MySQLStatic.Connection); DataTable DataDTTablesDT = new DataTable(); DataDTTables.SelectCommand.CommandTimeout = 240000; DataDTTables.Fill(DataDTTablesDT); […]

如何通过ASP.NET中的另一个下拉列表过滤下拉列表值,c#

我有一个关于filter的简单问题。 我有4个下拉列表,用于从MySQL数据库表中过滤我的Web应用程序中的数据。 已选择第一个下拉列表,仅显示一个project_id,但其他下拉列表显示数据库中的所有可能值 – 这是我到目前为止所做的。 但我想只显示所选特定项目的数据值。 它是ASP.NET 4.0,C#后面和MySQL数据库使用。 任何帮助将不胜感激。 谢谢

entity frameworkMySQL tinyint(1)System.Boolean.Parse FormatException

我在使用MySQL数据库的 C# 模型第一个项目中使用EntityFramework 6 。 一切都很好,我可以毫无问题地生成我的数据库。 然后我使用设计器修改了我的.edmx文件,这里开始了我遇到的问题。 首先,设计者不再更新.edmx文件的CSDL内容和CS映射内容部分。 所以我自己更新了内容,最终可以编译项目。 这是现在的.edmx文件,它在设计器中的样子: EDMX文件: http : //pastebin.com/Xer9UyNR 以下是设计师视图的链接: http : //i.stack.imgur.com/Vcv9W.png 第二个(也是最重要的一个),当EF试图从我的数据库中获取一个tinyint并将其类型更改为布尔值时,我得到一个FormatException。 àArmoireOutils.App.OnNavigateMessageHandler(OnNavigateMessage message)dans c:\ Users \ JB \ Desktop \ CodingFrance \ ArmoireOutils \ ArmoireOutils \ App.xaml.cs:line 101System.FormatException:String未被识别为有效的布尔值。 àSystem.Boolean.Parse(String value) àSystem.String.System.IConvertible.ToBoolean(IFormatProvider provider) àSystem.Convert.ChangeType(对象值,类型conversionType,IFormatProvider提供程序) àMySql.Data.Entity.EFMySqlDataReader.ChangeType(Object sourceValue,Type targetType) àMySql.Data.Entity.EFMySqlDataReader.GetValue(Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetUntypedValueDefault(DbDataReader reader,Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader,Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.GetPropertyValueWithErrorHandling[TProperty](Int32 ordinal,String propertyName,String […]

如何在Entity Framework和Mysql中使用规范函数

我想使用MySql数据库将Timespan添加到EntityFramework中的DateTime。 我尝试过使用DbFunctions.AddMinutes(someminutes)和EntityFunctions.AddMinutes(someminutes)但是当我执行时,我得到了类似的exception functionprojectName.AddMinutes不存在 我用谷歌搜索但无法找到如何执行规范function。 虽然有一个function列表,但我不知道他们属于哪个类https://msdn.microsoft.com/en-us/library/bb738563.aspx 我在用 MySql.Data.Entities 6.8.3.0 EntityFramework 6.0.0 MySql.Data 6.8.4 MySql.Web 6.8.4 MySql(数据库)5.6.17 我的Linq查询如下 IQueryable orders = _dbContext.Orders .OrderByDescending(x => x.ID) .Select(x => new OrderViewModel { ID = x.ID, AddedOn = DbFunctions.AddMinutes(x.AddedOn, diffMinutes).Value, Customer = (x.IsGuestCheckOut == true ? x.CustomerEmail : x.Customer.FirstName + ” ” + x.Customer.LastName), Phone = x.Phone, TotalAmount = x.TotalAmount, […]

具有不变名称“MySql.Data.MySqlClient”的ADO.NET提供程序未在计算机或应用程序配置文件中注册

我有一个使用entity framework6到mysql服务器的asp.net解决方案。 现在我必须在新机器上研究该解决方案, 但我有一些问题: 1)在构建解决方案时,我得到错误: “具有不变名称’MySql.Data.MySqlClient’的ADO.NET提供程序未在机器或应用程序配置文件中注册”。 App.config中: 2)打开model.edmx文件时我收到消息: “实体模式设计器无法显示您请求的文件”。 我在机器上安装了: 1)mysql连接器/ net 6.9.9 2)mysql for visual studio 1.2.6 3)mysql连接器odbc 5.3.6。 我能做什么?