草庐IT

c# - Linq To SQL 和 Having

我是LinqToSQL的新手,但我试图运行一个应该相当简单的SQL查询,但无法弄清楚如何让它在LINQ中发挥良好的作用。SELECTUsers.Id,Users.IdASExpr1,Users.FirstName,Users.LastName,User_x_Territory.UserIDFROMUsersLEFTOUTERJOINUser_x_TerritoryONUser_x_Territory.UserID=Users.IdGROUPBYUsers.Id,Users.Id,Users.FirstName,Users.LastName,User_x_Territory.UserID

c# - 如何从 SQL Server 内存中清除 SqlDependency?

如何清理SQLServer以摆脱过期的SqlDependency对象?在我从SqlDepedency对象接收到事件后,我需要先创建一个新事件,然后才能获取新事件。但是,SQLServer进程的内存使用量会攀升,直到用完允许的内存(SQLServerExpress)。如何摆脱旧查询?代码://Func:RegisterTableListenerusing(SqlConnectioncn=newSqlConnection(Properties.Settings.Default.DatabseEventConnectionString)){if(cmd==null){cmd=cn.Creat

c# - EF DBContext 处理不关闭连接

我使用的是EF6.1.0我有下面的自定义DBContex对象作为DBEntitespublicpartialclassDbEntities:DbContext{publicDbEntities():base("name=DbEntities"){////Configuration.LazyLoadingEnabled=true;////Configuration.ProxyCreationEnabled=false;}////IhaveALLEntitesaddedasbelow////publicvirtualIDbSetCCodes{get;set;}}我对上下文对象有以下操作us

c# - 有没有一种简单的方法可以使 EntityFramework 使用 SQL 默认值?

例如,我的大多数实体都有DateCreated和DateModified字段。在SQLServer中,它们的默认设置为GetUtcDate()。如果我尝试创建一个实体但不设置这些值,我会收到一个异常,提示它无法运行SQL插入,因为日期值超出范围。这是有道理的,因为C#默认日期是1/1/0001,而SQLServer的最小日期是1/1/1753。那么有没有一种方法可以告诉EF使用SQLServer默认值,或者不要尝试插入尚未设置的列? 最佳答案 您必须将这些属性的StoreGeneratedPattern设置为Identity(对于D

c# - 为什么在 sql server 中生成的 MD5 哈希值不相等?

这个问题在这里已经有了答案:TSQLmd5hashdifferenttoC#.NETmd5(4个答案)关闭7年前。我在SQLServer2008R2中有一个表,其中包含两个字段(WordHash、Word)。此Hash字段在C#中生成,我需要为sqlserver中的Word字段重新生成哈希码。但我的问题是在sqlserver和C#中生成的MD5哈希是不同的。我发现下面的代码可以解决这个问题,但我仍然遇到同样的问题。SQL代码:CONVERT(NVARCHAR(32),HASHBYTES('MD5','someword'),2)将此代码块放入我的查询后,我看到了一些连线结果!这是我的结果

c# - 在表值参数中将 nvarchar 长度设置为最大值

我想将表值参数作为变量传递给存储过程,在SqlMetadata类的构造函数中,可以指定要添加的字符串的长度(longmaxLength)表的列。Microsoft.SqlServer.Server.SqlMetaData[]tvpdefinition={newSqlMetaData("ValueOne",SqlDbType.NVarChar,100),newSqlMetaData("ValueTwo",SqlDbType.NVarChar,100)}如何指定“最大”长度以使其与该列相对应ValueOne(nvarchar(max),notnull)与长度值100相对,例如

c# - 使用 C# .Net 访问 SQL Server 数据库的最佳方式

我是.NET的新手,听说过几种不同的查询SQLServer数据库的方法,例如ADO.NET和EntityFramework。谁能给我一些关于申请新申请的最佳方式的建议?感谢任何帮助或建议。 最佳答案 这是一个使用EF并从数据库生成代码的示例(对于真正的应用程序,您可能希望从代码生成数据库):右键单击您的项目>>添加>>新项目>>ADO.NET实体数据模型。为您的实体选择一个名称,即MyEntities.edmx,单击下一步选择“从数据库生成”如果还没有,请配置一个“新连接”。接下来。选择要包含在实体中的表、View和SPROC。完成

c# - 查询超时怎么办?

假设我有一个查询被发送到我的SQL-Server数据库,它花费了30多秒,我的程序抛出了一个SQL查询超时异常。查询是否仍在我的数据库中进行,还是在抛出异常后立即终止? 最佳答案 Aclientsignalsaquerytimeouttotheserverusinganattentionevent.AnattentioneventissimplyadistincttypeofTDSpacketaSQLServerclientcansendtoit.Inadditiontoconnect/disconnect,T-SQLbatch,a

c# - 如何确定 Linq-To-Sql 对象中更改了哪些字段

我有一个linq-to-sql数据库,我想在其中记录对实体所做的一些更改。现在,我正在通过读取DataContext.GetChangeSet().Updates属性获取更新的实体,但这并没有为我提供来自已更改实体的字段。有没有办法知道更新的实体中哪些字段被修改了??谢谢 最佳答案 DataTable有一个方法GetModifiedMembers,它将返回一个成员列表,这些成员已针对指定的实体实例进行了更改。DataClasses1DataContextcontext;Class1instance=context.GetChange

c# - C# 和 SQL Server 中 int 到 guid 的不同转换

在C#和SQLServer中将int转换为guid时,我得到不同的值。在C#中我使用这个方法publicstaticGuidInt2Guid(intvalue){byte[]bytes=newbyte[16];BitConverter.GetBytes(value).CopyTo(bytes,0);returnnewGuid(bytes);}Console.Write(Int2Guid(1000).ToString());//writes000003e8-0000-0000-0000-000000000000在我使用的SQLServer中selectcast(cast(1000asva