Tag: sql

LINQ to Entities – 查询中的IN子句

可能重复: Linq to Entities – Sql“IN”子句 如何在Entity框架4.0中实现SQL“in” 我怎样才能添加WHERE IN语句… SELECT * FROM myTable WHERE ID IN (1,2,3,4,5) 在entity framework中

如何通过参数化查询在数据库中插入空值

我有一个datetime数据类型: dttm 数据库字段类型也是数据时间 现在我这样做: if (dttm.HasValue) { cmd.Parameters.AddWithValue(“@dtb”, dttm); } else { // It should insert null value into database // through cmd.Parameters.AddWithValue(“@dtb”, _____) } 如何才能做到这一点。

entity framework拆分表删除

我正在使用EF 4 STE来建模一个Attachment对象。 附件包含名称,描述,日期,最重要的是数据( byte[] )。 为了优化加载,我不希望在绝对必要之前检索Data属性,即当用户从客户端单击Download 。 为了遵循这种方法,我使用了这里描述的表拆分技术。 我将附件表拆分为附件 (名称,描述,日期)和附件数据(数据)。 这是我的EF模型中的一对一关系。 一切都很好,直到我尝试删除没有AttachmentData的附件 (即attachment.AttachmentData == null )。 我得到以下exception: 遇到无效数据。 缺少必需的关系。 检查StateEntries以确定约束违规的来源。 我看到了类似的post ,但我似乎无法使用STE和ApplyChanges扩展方法。 现在我的数据访问代码很简单:我调用context的ApplyChanges()然后调用SaveChanges() 。 我尝试了一个简单的删除SQL函数,并将其映射到两个实体,并实际工作; 但它打破了插入物。 我似乎无法将所有属性的插入函数映射到两个实体。 关于我可以尝试的其他一些选择的任何想法? Attachment和AttachmentData之间的关系可以是可选的吗? 当我将它设置为1到0+时,我得到一个映射错误,指出Their primary keys may collide 。 对任何建议开放。 谢谢!

将文本框值插入数据库

我是一个新手,想要一些关于C#编程的建议 我想将文本框中的值存储到数据库中。 到目前为止,我有以下内容: string connectionString = @”Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Customers.mdf;Integrated Security=True;User Instance=True”; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); string query = “INSERT INTO ProjectList (ProjectName, BiddingDueDate, Status, ProjectStartDate, ProjectEndDate, AssignedTo, PointsWorth, StaffCredits) VALUES (‘”+projName+”‘, ‘”+bidDueDate+”‘, ‘”+status+”‘, ‘”+projectStartDate+”‘, ‘”+projectEndDate+”‘, ‘”+assignedTo+”‘, ‘”+pointsWorth+”‘, ‘”+aStaffCredits+”‘)”; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); connection.Close(); 代码中没有错误,但我似乎无法弄清楚为什么数据库中没有存储任何内容。

对于entity framework中的所有情况,存储过程返回-1

CREATE PROC spIsValidUser @UserName varchar(50), @Password varchar(50) AS IF Exists(SELECT * FROM Users where UserName=@UserName and Password=@Password) BEGIN return 0 END ELSE BEGIN return 1 END GO 我已创建此Stored Procedure并使用entity framework调用此Stored Procedure 。 下面是用C#编写的代码。 MyBusEntities db = new MyBusEntities(); int empQuery = db.spIsValidUser(“abc”, “abc@123”); spIsValidUser Stored Procedure在所有情况下都返回-1 。 请告诉我错误。 编辑 – 根据给定的答案,存储过程不使用return语句,因为entity framework不能支持存储过程返回开箱即用的标量值。让我知道如何从Stored Procedure发送标量数据?

如何使sql查询结果到xml文件

我有一个SQL查询,从表中选择一些数据。 ID Name Number Email 1 a 123 a@a.com 2 b 321 b@b.com 3 c 432 c@c.com 我从表中得到这些数据。 我想从数据创建一个xml文件。 像这样 1 a 123 a@a.com 2 b 321 b@b.com 3 c 432 c@c.com 如何在C#和SQL Server上执行此操作?

System.Data.dll中出现“System.Data.SqlClient.SqlException”类型的exception

我是c#的初学者,当我执行代码时出现此错误消息>> “System.Data.dll中出现’System.Data.SqlClient.SqlException’类型的exception,但未在用户代码中处理 附加信息:’=’附近的语法不正确。 “ 这是代码!! string position; SqlConnection con = new SqlConnection(“server=free-pc\\FATMAH; Integrated Security=True; database=Workflow; “); con.Open(); SqlCommand cmd = new SqlCommand(“SELECT EmpName FROM Employee WHERE EmpID=” + id.Text, con); SqlDataReader Read = cmd.ExecuteReader(); if (Read.Read()==true) { position = Read[0].ToString(); Response.Write(“User Registration successful”); } else { Console.WriteLine(“No Employee found.”); } Read.Close();

LINQ to Entities相当于sql“TOP(n)WITH TIES”

我最近在sql server中一直在寻找LINQ等同于WITH TIES ,我遇到了一些事情,这些事情无法发挥作用。 我知道这个问题之前被问过并且有一个已接受的答案,但它并不像领带那样有效 。 使用GroupBy()的解决方案不会出现TOP(3) WITH TIES预期结果,考虑到由{3 2 2 1 1 0}组成的数据集,结果集将是{3 2 2 1 1} ,其应该是{3 2 2} 使用以下示例数据(取自此问题) : CREATE TABLE Person ( Id int primary key, Name nvarchar(50), Score float ) INSERT INTO Person VALUES (1, ‘Tom’,8.9) INSERT INTO Person VALUES (2, ‘Jerry’,8.9) INSERT INTO Person VALUES (3, ‘Sharti’,7) INSERT […]

如何使用带有linq的标量值函数实体?

可能重复: LINQ to Entity查询可以使用SQL级别函数吗? 我有一个标量函数,可以获得两点之间的距离,我想用它来查询最近的记录到点。 标量函数与linq一起使用到sql但是在EF中失败 标量函数 USE [GeoData] GO /****** Object: UserDefinedFunction [dbo].[DistanceBetween] Script Date: 09/18/2012 19:40:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[DistanceBetween](@Lat1 as real, @Long1 as real, @Lat2 as real, @Long2 as real) RETURNS real AS BEGIN DECLARE @dLat1InRad as float(53); SET @dLat1InRad = @Lat1; DECLARE @dLong1InRad […]

获取entity framework中属性的映射列名称

在我的项目中,我使用Entity Framework 6.我有这些实体: public class Person { [Key] public int Id { get; set; } public string Name { get; set; } public virtual ICollection PersonRights { get; set; } } 和 public class PersonRight { [Key] public int Id { get; set; } public string Name { get; set; } } 当我插入一个填充了PersonRights的person对象时,它在数据库中看起来像这样: 人员实体的表格: dbo.People […]