Tag: linq to sql

Linq2SQL“或/和”运算符(ANDed / ORed条件)

假设我们需要应用几个条件来选择一个名为“Things”的表(未知计数和性质) 如果条件已知,我们可以写 db.Things.Where(t=>foo1 && foo2 || foo3); 但是如果我们必须以编程方式构建Where条件,我可以想象我们如何应用ANDed条件 IQuerable DesiredThings = db.Things.AsQuerable(); foreach (Condition c in AndedConditions) DesiredThings = DesiredThings.Where(t => GenerateCondition(c,t)); ORed条件怎么样? 注意:我们不想执行union,unique或任何其他代价高昂的操作,我们希望生成一个查询,好像我们将它写成ad-hock 提前致谢。 加成: PredicateBuilder:动态编写表达式谓词

MoreLinq maxBy vs LINQ max + where

我正在使用带有MoreLinq扩展的EF5 ,同时在生产中测试我的程序(非常大的数据库),我发现该行: var x = db.TheBigTable.MaxBy(x => x.RecordTime); 需要很长时间( RecordTime是非索引datetime ) 是因为MaxBy总是在客户端运行(并且首先从数据库中获取所有记录)?

缺省值(C#变量)LINQ to SQL Update中的问题

我有以下代码用于使用LINQ to SQL更新Account表。 AccountNumber是主键列。 需要更新的唯一值是AccountType; 但是,持续时间也会更新为零(int的默认值)。 我们怎样才能避免这种不必要的覆盖呢? 注意:我使用的是Attach方法 注意:我理解这种行为的原因。 “DataContext无法区分分配值为零的字段和仅仅未分配的字段。” 我正在寻找解决方案来解决这个问题。 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage=”_Duration”, DbType=”Int NOT NULL” public int Duration 表数据 表结构: CREATE TABLE [dbo].[Account]( [AccountNumber] [int] NOT NULL, [AccountType] [nchar](10) NOT NULL, [Duration] [int] NOT NULL, [DepositedAmount] [int] NULL, CONSTRAINT [PK_Account] PRIMARY KEY CLUSTERED ( [AccountNumber] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = […]

如何使LINQ执行(SQL)LIKE范围搜索

我非常需要帮助,我一直试图这样做一段时间。 所以我有这个查询: Select name from BlaBlaBla order by case when name like ‘9%’ then 1 end, case when name like ‘8%’ then 1 end, case when name like ‘7%’ then 1 end, case when name like ‘6%’ then 1 end, case when name like ‘5%’ then 1 end, case when name like ‘4%’ then 1 […]

数据库中的数据发生更改时,LINQ to SQL不会更新

我有这个问题,在数据库上更新字段(比如表MyTable中的Field3)后, MyTable.Field3 (在C#中)仍然返回旧值。 我怀疑有一些缓存……? 我如何强制它: 从数据库中读取值? 要么 更新MyTable类中的值? 或者有什么我想念的吗? 我是LINQ的新手 先感谢您。

部分类中的接口实现问题

我有一个关于L2S,Autogenerated DataContext和Partial Classes的使用问题的问题。 我已经抽象了我的datacontext,并且对于我使用的每个表,我正在实现一个带接口的类。 在下面的代码中,您可以看到我有接口和两个分部类。 第一个类就是确保自动生成的datacontext中的类具有接口。 另一个自动生成的类确保实现Interface的方法。 namespace PartialProject.objects { public interface Interface { Interface Instance { get; } } //To make sure the autogenerated code inherits Interface public partial class Class : Interface { } //This is autogenerated public partial class Class { public Class Instance { get { return this.Instance; } } } […]

使用Attach()的LINQ To SQLexception:无法添加具有已在使用的密钥的实体

考虑这种典型的断开连接情 使用LINQ To SQL从SQL Server加载Customer对象 用户编辑实体,表示层发送回修改的实体。 使用L2S的数据层必须将更改发送到SQL Server 考虑这个LINQ To SQL查询,其目的是获取Customer实体。 Cust custOrig = db.Custs.SingleOrDefault(o => o.ID == c.ID); //get the original db.Custs.Attach(c, custOrig); //we don’t have a TimeStamp=True property db.SubmitChanges(); DuplicateKeyException: Cannot add an entity with a key that is already in use. 题 你怎么能避免这种例外? 更新没有/想要/需要时间戳属性的实体的最佳策略是什么? 次优解决方案 手动将更新的客户中的每个属性设置为orig客户。 启动另一个DataContext

无法将IQueryable 转换为IOrderedQueryable错误

我有以下LINQ代码: var posts = (from p in db.Posts .Include(“Site”) .Include(“PostStatus”) where p.Public == false orderby p.PublicationTime select p); if (!chkShowIgnored.Checked) { posts = posts.Where(p => p.PostStatus.Id != 90); } 最后一行(额外的地方)给了我错误: 无法将类型’System.Linq.IQueryable’隐式转换为’System.Linq.IOrderedQueryable’。 我不确定这意味着什么…… 为什么我收到此错误? 它出现了一次我在查询中添加了“orderby”子句,之前它编译得很好,所以我对所发生的事情有一种预感,但我无法完全理解它。

为什么“linq to sql”查询以与常规SQL查询不同的FROM关键字开头?

为什么linq to sql查询以FROM关键字开头,而不像常规SQL查询?

使用C#将XML导入SQL

我知道这不是运动要求这种帮助,但我已经坚持了一段时间 – 现在我正在阅读两本C#书籍并且每天工作超过9小时。 好的,这是我的问题:我有一个几乎完成的WinForms C#应用程序。 在SQL中我有三个表如下所示: CREATE TABLE [dbo].[Racuni]( [BROJ] [varchar](12) NULL, [DATUM] [datetime] NULL, [TS] [datetime] NULL, [USER_ID] [int] NULL, [KASA_ID] [varchar](3) NULL, [TOTAL] [float] NULL, [STATUS] [varchar](1) NULL, [ARH] [varchar](max) NULL ) ON [PRIMARY] Create Table “Rac_Npl” ( br_rac Char( 12 ) , kasa_id Char( 3 ) , npl_id Integer , iznos Money); […]