Tag: sql server

从数据库生成POCO / DTO的工具(SQL Server)

哪些免费工具可以从MS SQL Server数据库生成简单的POCO / DTO类? 使用属性和字段,但仅此而已 。

使用entity framework执行存储过程

是否可以使用EF执行存储过程,使用内连接和左外连接从两个或多个表中选择数据库中的记录。 我的观点是避免在EF或LINQ中进行连接的方法,我有很多问题。 因此,如果我创建该过程,我可以使用来自用户输入的参数调用它,可以将结果分配给.ToList()方法,然后将结果添加到asp:repeater .DataSource 。 我知道这可能是一个奇怪的问题,但我想首先出于多种原因这样做,因为我感觉更舒服。 第二,摆脱在EF中使用连接。 第三,我在某处读到,当用于经常调用查询时,使用存储过程将增强查询性能。 如果有人可以帮我用一个例子来回答这些问题,我将不胜感激。

构建OCA的工具(偶尔连接的应用程序)

我将构建一个内部的偶尔连接应用程序(OCA)。 您建议我采用哪些技术? 这是我的参数: .NET Shop( 3.5sp1 ) 代码背后的C#( winform,wpf,silverlight ) SQL Server后端( 2005年或可能 2008年待批准 ) 独奏开发者 独奏SQL管理员 低技术最终用户 5个分支机构的低带宽 这是一个LOB应用程序,但不是POS。 大多数用户都有将笔记本电脑带到会员家中 此应用程序的数据存储在5个单独的数据库中,但在一个SQL实例中。 我正在寻找有关选择路径的具体建议。 合并复制或Sync Framework数据库同步提供程序? 订阅服务器上的SQL Express或SQL CE? 我可以为DAL使用LINQ to SQL吗? 是Silverlight’离线/退出浏览器应用’ 示例在这里 ,可行吗? 这是我的第一个LARGE商业应用程序,因此欢迎任何经验丰富的评论。 根据要求,这里有一些关于数据类型的附加信息。 我的用户是护士和社会工作者,他们去会员家中为他们创建“计划”或“健康评估评论”。 这些是药物清单或当前“提供者”列表。 实现成员目标的步骤或当前/过去诊断的列表。 像这样的东西。 还有典型的会员姓名,地址,电话号码等。这主要是一个便于报告的数据存储和检索应用程序。 很少“处理”发生,护士和社会工作者在指定成员的团队中工作,所以我通常几乎没有交叉或潜在的数据冲突。 护士和SW也负责MCP的不同领域( 会员中心计划 ) 附加问题; 如果我可以使用SQL 2008,Sync Framework真的只是一个可行的选择吗? 由于改变跟踪等等,这似乎是这样的想法?

SqlBulkCopy性能

我正在努力提高批量负载的性能; 100多万条记录+每日。 我把它移到了使用IDatareader接口来代替数据表,并且确实获得了显着的性能提升(每分钟500,000条记录)。 目前的设置是: 用于解析分隔文件的自定义缓存读取器。 将流读取器包装在缓冲流中。 一个自定义对象读取器类,它枚举对象并实现IDatareader接口。 然后SqlBulkCopy写入服务器 大部分性能瓶颈直接在SqlBulkCopy.WriteToServer 。 如果我对该过程进行unit testing,但仅排除WriteToServer该过程大约在1分钟内返回。 WriteToServer还需要15分钟+。 对于unit testing,它位于我的本地计算机上,因此数据库存在相同的驱动器,因此不必通过网络复制数据。 我正在使用堆表(没有索引;聚集或非聚集;我已经玩过各种批量大小而没有性能上的重大差异)。 有必要减少加载时间,所以我希望有人可能现在可以从这个开局中挤出更多的血液。

如何穿越dacpac

我们希望将dbproj升级到sqlproj,以便我们可以将其指向新的SQL 2012数据库。 我们现在有一个程序读取.dbschema xml文件以查找所有表和列并从中检索信息。 我们使用这些数据来构建我们自己的自定义类。 新的sqlproj文件现在生成一个dacpac,我们想要进行干预以获取我们需要的数据。 我写了以下内容来尝试遍历dacpac并获取我需要的信息: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SqlServer.Dac; using Microsoft.SqlServer.Dac.Extensions; using Microsoft.SqlServer.Dac.Model; namespace DacPacReader { class Program { static void Main(string[] args) { using (System.IO.TextWriter writter = new System.IO.StreamWriter(@”c:\temp\output.txt”)) { using (TSqlModel model = new TSqlModel(@”C:\temp\Data.dacpac”)) { var allTables = model.GetObjects(DacQueryScopes.All, ModelSchema.Table); foreach (var […]

如何通过每次迭代重用SqlCommand参数?

我想为我的数据库实现一个简单的删除按钮。 事件方法看起来像这样: private void btnDeleteUser_Click(object sender, EventArgs e) { if (MessageBox.Show(“Are you sure?”, “delete users”,MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { command = new SqlCommand(); try { User.connection.Open(); command.Connection = User.connection; command.CommandText = “DELETE FROM tbl_Users WHERE userID = @id”; int flag; foreach (DataGridViewRow row in dgvUsers.SelectedRows) { int selectedIndex = row.Index; int rowUserID = int.Parse(dgvUsers[0,selectedIndex].Value.ToString()); command.Parameters.AddWithValue(“@id”, […]

数据库插入性能

我们计划实施一个系统,将高频率的市场价格记录到数据库中进行进一步分析。 为了简单地了解我们可以在不同的数据库解决方案上获得什么样的存储性能,我创建了一个用于插入基本行标记信息的小应用程序。 在几个不同的DB上运行相同的代码时,我们得到了一些有趣的结果。 插入的数据非常简单如下: CREATE TABLE [dbo].[price]( [product_code] [char](15) NULL, [market_code] [char](10) NULL, [currency] [nchar](6) NULL, [timestamp] [datetime] NULL, [value] [float] NULL, [price_type] [char](4) NULL ) ON [PRIMARY] Microsoft SQL Server: 总测试时间:32秒。 每秒3,099个价格。 MySQL服务器: 总测试时间:18秒。 每秒5,349个价格。 MongoDB服务器: 总测试时间:3秒。 每秒25,555个价格。 此测试的目的仅仅是为了获得底部系统可以预期的“原始性能”的一些指示。 当实际实施解决方案时,我们当然会做缓冲,批量插入等。 我们只关心插入的速度,因为查询是在以后“离线”完成的。 有没有人对其他适合的数据库有任何建议? 今晚我也将尝试使用HDF5和MonetDB。 它需要具有多客户端访问权限。 谢谢你的任何建议! 更新 : 抱歉,我在定位之前对我的问题进行了重大编辑,似乎我遗漏了服务器版本和硬件的一些细节。 所有测试都在8核服务器上运行,其中12GB RAM运行Windows 2008 x64。 Microsoft SQL […]

确定SQL Server CE中是否存在表?

我知道这与这个问题类似,但我在C#中使用SQL Server CE 3.5和WinForms项目。 如何确定表是否存在? 我知道虽然EXISTS是,但不支持IF关键字。 information_schema是否存在于我可以查询它的CE中? 谢谢。

entity framework代码首先使用现有数据库迁移策略

我有以下情况,无法确定正确的迁移策略。 帮助很感激。 应用程序创建并使用数据库作为数据存储 如果需要,应用程序需要在启动时更新数据库 使用Nuget Manager控制台不是一个选项。 (出于迁移目的,本地没问题) 我在分发中的现有数据库不是EF 现在我想开始使用EF代码的第一种方法。 我需要实现的是: 如果没有数据库则创建一个 如果数据库存在,则使用空迁移(只是为下一次升级做好准备) 这应该在应用程序启动时发生 数据库不存在====>创建EF初始=====> Upg v1 =====> Upg V2 数据库存在=====>跳过初始但准备下次升级=====> Upg v1 ======> Upg v2 谢谢你的帮助 附加信息:这是存在的数据库(仅作为示例): CREATE DATABASE Test GO Use Test GO CREATE SCHEMA [TestSchema] AUTHORIZATION [dbo] GO CREATE TABLE [TestSchema].[Table1]( [Id] [uniqueidentifier] NOT NULL, [Column1] [nvarchar](500) NOT NULL, [Column2] [bit] NOT NULL, […]

需要在.net中使用数据库表模式获取空数据表

使用sql server表的模式创建Empty DataTable对象的最佳方法是什么?