Articles of sql

在移动服务数据库上启用代码优先迁移时出错

我有一个Azure移动服务项目(C#后端),我最近创建并附加到Azure SQL数据库。 我一直在尝试在该后备数据库上启用代码优先迁移,但在尝试更新数据库时会抛出错误。 我执行了所有常规步骤以启用迁移(启用迁移,添加迁移)。 但是当我尝试Update-Database时,它会返回以下错误: 无法在表’dbo.Appointments’上创建多个聚簇索引。 在创建另一个之前删除现有的聚簇索引“PK_dbo.Appointments”。 为什么会这样? 我的数据库中没有任何表,该项目几乎是默认的。

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

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

什么是Microsoft.Practices.EnterpriseLibrary.Data

我想知道什么是Microsoft.Practices.EnterpriseLibrary.Data以及我们使用这个dll的原因。 这个dll有什么好处。 我想在3层架构上创建一个项目,这是sql查询的最佳方式。 天气我使用这个DLL或去简单的sqlcommand和dataadapter。 目前我正在以这种方式工作:我在DAL文件中的代码是: public void Insert(long id) { connection.Open(); SqlCommand dCmd = new SqlCommand(“test_procedure”, connection); dCmd.CommandType = CommandType.StoredProcedure; try { dCmd.Parameters.AddWithValue(“@id”, id); dCmd.ExecuteNonQuery(); } catch { throw; } finally { dCmd.Dispose(); connection.Close(); connection.Dispose(); } } 我很困惑天气我正在以正确的方式工作,或者我应该使用Microsoft.Practices.EnterpriseLibrary.Data然后我创建DatabaseFactory 。

Sql参数集合

我有5个参数,我想将它们发送到方法: public static SqlCommand getCommand(string procedure, SqlParameter[] parameter) { Sqlcommand cmd; return cmd } 我可以像这样一次发送这些参数吗? SqlParameterCollection prm; prm.Add(p1); prm.Add(p2); prm.Add(p3); prm.Add(p4); prm.Add(p5); sqlcommand cmd = getCommand(prm);

EF6 CodeFirst我的 Id列不会像标识列那样自动递增

我有几个类需要从一个包含Id的公共基类派生。 暂时忽略除了其中一个之外的其他所有内容,让我们说: public class MyBase { [Key] public int Id { get; set; } } public class MyName : MyBase { public string Name { get; set; } } 我的上下文(DataContext)看起来像这样: public DbSetMyNames { get; set; } // to avoid having EF make a MyBases table and instead map // MyBase.Id into MyNames and my other […]

从BLL中的一个方法跨多个DAL方法进行的事务

您将如何从业务逻辑层中的一个方法调用数据访问层中的多个方法,以便所有SQL命令都存在于一个SQL事务中? 可以从BLL中的其他位置单独调用每个DAL方法,因此无法保证数据层方法始终是事务的一部分。 我们需要这个function,所以如果数据库在长时间运行的过程中脱机,那么就没有提交。 业务层基于每个先前调用的结果来编排不同的数据层方法调用。 我们只想在整个过程的最后提交(从业务层)。

使用Include时阻止entity framework添加ORDER BY

我们有类似以下的查询: from x in db.Table.Include(x => x.Parent) .Include(x => x.Parent.Relation) .Include(x => x.Relation) .Include(x => x.Children) where /* some query */ select x 问题是,当添加.Include(x => x.Children) ,Entity Framework添加到生成的SQL的ORDER BY语句会导致查询花费很长时间来执行 – 如下所示: ORDER BY [Project2].[Id1] ASC, [Project2].[Id2] ASC, [Project2].[Id] ASC, [Project2].[C4] ASC 将orderby添加到linq查询也没有帮助,除了添加额外的列以进行排序之外,它不会影响上述语句。

如何实现历史版本控制?

我们正处于构建SQL 2008 R2上的大型C#MVC2应用程序(我们还将Sharp架构和Nhibernate作为生态系统的一部分)的早期阶段,其中一个要求是所有数据库行版本都可以在给定的时间内访问历史。 我们玩弄了类似于以下布局的想法: id(PK) 的recordId VERSIONID 并且使用相同的recordId和增加的versionId创建新记录中的每个编辑记录结果。 然后记录显示将按照SELECT … WHERE recordId = X AND versionId = MAX(versionId)的内容完成。 每个事务的快照都不起作用(太多了?并且无法从应用程序中轻松访问)。 但我们很好奇其他实施方案是否成功,或者我们的提案存在潜在问题。

Visual Studio 2012数据库图?

我在C#中做的很少,并且正在关注Head First C#书。 书中有一部分要求我为我的SQL数据库创建数据库图表,但在数据库资源管理器中没有数据库图表节点/文件夹。 我听说微软放弃了数据库图表function,但还有另一种创建数据库图表的方法,这对我来说很容易理解吗?

如何将SQL结果保存到C#变量中?

我很难找到如何将SQL结果保存到String或结果返回的任何类型。 我的SQL查询是 SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE ‘t%’ 这里我需要一个函数来总结所有数据行的长度,其中标题以字母“T”开头,当在MS-SQL中执行查询时,它返回“188.99”(sql类型为十进制) 我的问题是,如何将该值保存到C#变量中? 查询始终返回具有特定值的一行,我想将其保存到变量中。 我有一个C#函数来执行查询,我只需要将该行的值188.99保存到变量中。 任何建议都很酷,无论我将结果保存为十进制变量还是字符串。