Tag: entity framework

entity framework,DLL,Excel

我已经在Excel中使用C#写的DLL(该DLL是COM注册)。 我没有问题连接Excel。 DLL使用entity framework5从SQL Server数据库检索数据。如果我通过控制台应用程序运行DLL,该DLL工作正常。 但是,当我通过Excel(通过VBA)运行它,我得到一个InvalidOperationException。 错误消息是“应用程序configuration文件中找不到名为”MegaDailyEntities“的连接string。 这是我第一次尝试从数据库中检索数据。 我遇到了控制台应用程序的这个问题,但后来我在我的App.config文件中包含以下内容 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> </entityFramework> <connectionStrings> <add name="MegaDailyEntities" connectionString="metadata=res://*/MegaDaily.csdl|res://*/MegaDaily.ssdl|res://*/MegaDaily.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=CQI-Laptop1;initial catalog=MegaDaily;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration> […]

在ASP.NET Linq数据绑定中将GridView数据导出到Excel

我使用波纹pipe代码出口gridview数据优秀,但问题是,整个页面导出为Excel。 我只想要gridview数据不是整个页面导出。 如何解决这个问题? HtmlForm form = new HtmlForm(); Response.Clear(); Response.Buffer = true; string filename = "GridViewExport_" + DateTime.Now.ToString() + ".xls"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); gdvInBox.AllowPaging = false; gdvInBox.DataBind(); form.Controls.Add(gdvInBox); this.Controls.Add(form); form.RenderControl(hw); //style to format numbers to string string style […]

使用reflection过滤/删除EF5导航属性

我有下面的代码来获得通过的所有通用实体的属性。我认为这样的属性将成为一个excel报告的伟大标题。 但是当我使用它时,我得到了一些“导航”属性。 我想过滤它们,因为他们搞乱了报告。 这里是一些代码… DataTable dataTable = new DataTable(typeof(TEntity).Name); //Get properties / field names PropertyInfo[] Props = typeof(TEntity).GetProperties(BindingFlags.Public | BindingFlags.Instance); //Add props to datatable foreach (PropertyInfo prop in Props) dataTable.Columns.Add(prop.Name); 所以代码继续将其他行添加到数据表中,然后我使用它将数据发送到出色的NPOI免费的Excel导出工具。 有理想的BindingFlags属性,将允许我忽略这些东西 | !BindingFlags.Navigation 我也不一定需要其他2,因为我看到它们似乎有或没有他们相同的细节。 如果没有BindingFlags属性,有没有办法扩展它。 如果没有,那么有没有其他的标准方法可靠地检测它们,所以我可以过滤掉它们。 我听说其中一些包含“导航”作为前缀,或几乎总是虚拟的,但虽然我的虚拟似乎“几乎”部分担心我。 这就是为什么我不想做这样的事情: PropertyInfo[] Props = typeof(TEntity).GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => !p.GetGetMethod().IsVirtual && !p.GetGetMethod().IsFinal).ToArray(); 不过,我没有“导航”的前缀,我可以看到,但如果他们这样做,我不相信这也会给我正确的方式。 也许我对上述两个人是错误的,或者没有在正确的地方寻找。 我也完成了一些生成连接到repo的“ViewModel”的行,以从模型中获取数据并填充ViewModel。 然后发送到我的报告引擎。 这似乎更灵活,因为我可以使用它有点像预览如果我附加一个视图。 这听起来像正确的路要走吗? […]

服务/消费OData接口的entity framework的替代scheme

我正在研究如何build立一个OData接口到我们的数据库。 我希望能够将我们的数据库中的数据提取到Excel中作为开始。 最后,我想让Excel运行查询并通过HTTP从远程客户端获取数据,包括身份validation等。 到目前为止,我已经使用Visual Studio中的ADO.NET实体数据模型向导build立了一个工作(摇摇晃晃)的原型,VSTO创build了一个testingExcel工作表,其中包含一个从该ADO.NET接口中提取的button。 这到目前为止工作正常,我可以通过由ADO.NET EDM向导创build的实体/对象使用Linq查询数据库。 但是,我已经开始遇到这种方法的一些问题。 我一直在发现entity framework很难工作(事实上,也很难研究解决scheme,因为有很多关于它和它的旧版本的chaff)。 一个例子是我无法弄清楚如何设置向导为我的模式生成的DataServiceContext对象上的SQL命令超时(而不是HTTP请求超时),但这不是我的问题的关键。 我真正的问题是,如果我想使用OData作为我的接口标准,我坚持与entity framework? 是否还有其他解决scheme(最好是开放源代码)可以设置,服务和使用OData接口,并且比entity framework更容易处理,也更less膨胀? 我已经看到提及NHibernate作为替代,但大多数我看到的比较线程是几年。 现在还有其他的select吗? 非常感谢!

将SQL结果集转换为CSV文件

我在C#工作,需要使用entity framework6 。 我有一个调用存储过程的服务(使用Dbcontext),并将结果放入IList中 。 然后我有一个控制器 ,利用这项服务。 现在最初我使用的结果与Epplus结合保存这个Excel / Xlsl文件 – 这完美/按预期工作。 不过现在,我需要把它保存为一个CSV文件。 我发现了几个链接,比如这个和这个 , 把excel转换成CSV (不过我现在可以跳过这一步,因为我可以把结果集转换成CSV,而不需要excel文件) ,我也发现这个链接 。 据我所知,使用stringbuilder将数据集/结果集导出/转换为CSV相当容易。 但是,我想知道,因为我有Epplus和能够保存为Excel – 是否没有一个更干净的方式来做到这一点 ? 或者,最好是采取的数据,使用逗号分隔的string制造商,并使用CSV的? 我知道类似的话题( 比如这个 )之前已经发布 – 但是我觉得我的问题对于一个新的post是足够独特的。

使用LINQ to Excel将数据从Excel导入到SQL Server数据库

林新手在LINQ到SQL,我想导入Excel文件内容到我的SQL服务器数据库。 这是我的代码: private void btnImport_Click(object sender, RoutedEventArgs e) { dbEntities = new BASUEntities(); string pathToExcelFile = importFileName; var excelFile = new ExcelQueryFactory(pathToExcelFile); excelFile.AddMapping<UserInfo>(x => x.FirstName, "FName"); excelFile.AddMapping<UserInfo>(x => x.LastName, "LName"); excelFile.AddMapping<UserInfo>(x => x.NationalCode, "NatCode"); excelFile.AddMapping<UserInfo>(x => x.EmploymentID, "EmpID"); excelFile.AddMapping<UserInfo>(x => x.WorkUnit, "WorkUnit"); excelFile.AddMapping<UserInfo>(x => x.JobOrdination, "JobOrd"); excelFile.AddMapping<UserInfo>(x => x.Profession, "Profession"); excelFile.AddMapping<UserInfo>(x => x.PostTitle, "PTitle"); excelFile.AddMapping<UserInfo>(x […]

无法findassemblyentity frameworkv 4.4.0.0

我们在VS2010并有entity framework工作的一些事情。 参考在那里,它是4.4.0.0。 有SO线程有相同的错误说,它可能是由于。NET版本,因为EF调用工作的部分程序,这似乎不太可能是不匹配。 我已经卸载并重新安装了几次EF,并没有运气。 这个错误发生在SaveChanges() : 无法findassemblyentity framework4.4.0.0 // add to permissions table EAT_Permissions permission = new EAT_Permissions { action_id = actionID, login = userLogin }; context.EAT_Permissions.Attach(permission); context.EAT_Permissions.Add(permission); context.SaveChanges(); permissionsDGV.Refresh(); MessageBox.Show("Permission was added"); 相比之下,工作代码: if (context.EAT_Users.Any(p => p.login == userLogin)) { var removeUser = context.EAT_Users.Find(userLogin); context.EAT_Users.Attach(removeUser); context.EAT_Users.Remove(removeUser); context.SaveChanges(); userListDGV.Refresh(); MessageBox.Show("User was removed"); } else..

Excel文件通过web api下载。 腐败

我试图通过Web API(使用entity framework)下载一个Excel文件。 下载正在工作,但我正在尝试打开文件时出现一些关于文件损坏的错误对话框。 Web API代码如下: public HttpResponseMessage GetValue(int ID, string name) { MemoryStream stream; try { using (DataContext db = new DataContext()) { dynamic fileObj = (from c in db.FileList c.ID == IDc).ToList(); stream = new MemoryStream(fileObj(0).File); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StreamContent(stream); result.Content.Headers.ContentType = new MediaTypeHeaderValue(fileObj(0).FileContentType); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") […]

将关系检查和可能的不良数据逐行插入大量数据

我已经阅读了许多与此相似的文章和问题,但是已经发现了足够近的东西。 我在10列excel文件中有40,000行。 这里的数据是由纸张手工input的。 在我需要首先检查的文件中有两个主要的数字MO&Order。 由于这些是手工input,他们可能是错的。 我有2张桌子MO表 moID MO Order 3409 87234 23845 3410 84562 21342 etc… (38k rows) 和 printID moID user date printer 5 3409 Brad 01/24 printer1 34 3409 Brad 01/30 printer1 40 3410 Joe 01/31 printer1 etc… (9k ish and growing) 处理: 我遍历每一行在我的C#应用​​程序,查询获取moID。 然后查询该作业是否已经存在,然后执行Insert。 如果无法findmoID,我查询logging可能的MO和顺序组合,以便稍后修复文件。 LINK QUERYS: curMOID = dbReports.MoNumbers.Where(r => r.moNumber […]