Tag: linq to sql

SQL Server CE不兼容的数据库版本

我有一个SQL Server CE 4.0数据库( .sdf文件),当我尝试从我的应用程序(WPF)对数据库进行查询时,我收到以下错误。 不兼容的数据库版本。 如果这是兼容文件,请运行修复。 对于其他情况,请参阅文档。 [Db version = 4000000,Requested version = 3505053,File name = \?\ C:\ Database \ ShortageReport \ MRPDatabase.sdf] 我已经检查过安装了SQL Server CE 4 sp1。 我尝试在Database.Net 4和vs2012中的连接设置中创建数据库。 我正在运行Windows 7 64位 我的连接字符串存储在app.config 。 我正在使用SQL Server Compact Toolbox生成上下文和映射。 我的app.config : 有任何想法吗?

LinqToSQL InsertOnSubmit和InsertAllOnSubmit之间的区别

我有一个关于LINQ to SQL的问题。 什么是更快: public void CreateLocationImages(IEnumerable list) { _db.LocationImages.InsertAllOnSubmit(list); _db.SubmitChanges(); } 要么 public void CreateLocationImages(IEnumerable list) { foreach (LocationImage item in list) { _db.LocationImages.InsertOnSubmit(item); } _db.SubmitChanges(); } 或者也许没有区别?

linq to sql提交更改不起作用

我有一个列表视图,在wpf Customername和Isvalid中有两个列。我正在使用linq to sql从我的sql表中获取数据。当我尝试将值更新到表时,我没有看到对表的任何更改。 当我点击保存按钮时,这是我的代码: try { CustomersDataContext dataContext = new CustomersDataContext(); Customer customerRow = MyDataGrid.SelectedItem as Customer; string m = customerRow.CustomerName; Customer customer = (from p in dataContext.Customers where p.CustomerName == customerRow.CustomerName select p).Single(); customer.Isvalid=false; dataContext.SubmitChanges(); MessageBox.Show(“Row Updated Successfully.”); } catch (Exception Ex) { MessageBox.Show(Ex.Message); return; } 我可以看到我能够根据所选的客户名查询记录,但该值未更新。 如果有人能指出我错过了将“ISVALID”值更新为数据库的逻辑,我会很高兴。

linq to sql – 循环遍历表数据和设置值

我有一个表“用户”..它有一个列“ShowData” 使用linq-sql如何遍历每个用户并为每个用户将ShowData设置为false。 谢谢

如何在不使用基本查询的情况下在一个操作中解析多个linq查询?

我有一个方法可以解决14个LINQ查询。 它们都没有基本查询,我可以将它们作为子查询挂起,然后将结果存储为匿名类型实例的属性。 而不是对数据库进行14次单独调用,如何确保在同一操作中调用它们? UPDATE 我最终使用了一个狡猾的黑客来完成这个伎俩。 我知道用户表中总会至少有一个用户,所以我最终使用: var data = (from tmp in DataContext.Users select new { Property1 = (from…), Property2 = (from…), PropertyN = (from…), }).First(); 更新2 在其中一个答案中暗示,这样做可能会产生MARS(多个活动结果集)错误。 这些错误是什么(我从未见过),它们为什么会出现,这一问题的整个前提是否有任何错误? 即我的断言中,我要求数据库一次性返回所有内容,这比使用十四个完全独立的LINQ查询更快/更有效吗? 更新3 我认为我的方法是多余的,从务实的角度来看,应该通过存储过程或某种延迟/混合方法来区别对待。

使用Linq查询作为数据源的ASP.NET GridView分页

当我在运行时使用linq查询设置数据源时,我正在寻找一种使用GridView进行分页的方法。 这是我的代码: ETDataContext etdc = new ETDataContext(); var accts = from a in etdc.ACCOUNTs orderby a.account_id select new { Account = a.account_id, aType = a.SERVICEs.FirstOrDefault().SERVICE_TYPE.service_type_desc, name = a.SERVICEs.FirstOrDefault().service_name, Letter_dt = a.create_dt, PrimAccthldr = a.PEOPLE.first_name + ” ” + a.PEOPLE.middle_name + ” ” + a.PEOPLE.last_name }; GridView1.DataSource = accts; GridView1.BindData(); 我有网格设置允许分页,但我收到一个错误,指出尚未处理PageIndexChanging事件。 我四处搜索,发现了以下内容: protected void GridView1_PageIndexChanging(object sender, […]

具有两个表的谓词构建器

Party可以拥有一个或多个Contact对象。 我想选择所有街道名称包含特定关键字的参与方。 如果我只想在派对中搜索,我可以使用下面的代码。 但是如何将其扩展到也在Contact中搜索? public IQueryable SearchParties(List keywords) { var predicate = PredicateBuilder.False(); foreach (string word in keywords) { var keyword = word; predicate = predicate.Or(p => p.surname.Contains(keyword)); predicate = predicate.Or(p => p.lastname.Contains(keyword)); predicate = predicate.Or(p => p.number.Contains(keyword)); } return db.Parties.Where(predicate); } 还有什么需要知道的吗? 编辑 我想我可以创建另一个谓词然后加入它们。 就像是: var predicate2 = PredicateBuilder.False(); ……并且在foreach中: predicate2 = predicate2.Or(p => […]

如何使用LINQ汇总此数据 – 按这些关系的计数分组的关系数

我有一个简单的表,如: | fkId | 项目| ————— | 1 | A | | 1 | B | | 1 | C | | 1 | D | | 2 | H | | 2 | 我| | 3 | Y | | 3 | Z | 我想要一个LINQ查询,它首先计算每个fkId项的数量,然后用给定的项目数来报告fkId的数量。 通过样本数据,我想知道我有1x ID和4x项目,2x ID和2x项目 所以,像: | ItemCount | fkIdsWithItemCount | […]

LINQ to SQL:如何将记录插入视图?

我正在使用Linq to SQL进行数据库操作,并且我正在尝试在VIEW中执行插入操作,它会抛出错误, XXt threw exception: System.InvalidOperationException: Can’t perform Create, Update or Delete operations on ‘Table(XXX)’ because it has no primary key. 如何使用LINQ使用C#将记录插入View? 谢谢。

Linq to SQL存储库应该实现IDisposable

在过去的几天里,我一直在用Linq搜索关于存储库模式的信息。 那里有很多信息,但它经常是矛盾的,我仍然在寻找一个明确的来源。 我仍然不确定的一件事是存储库是否应该实例化它自己的DataContext并使用SubmitChanges方法,或者是否应该注入DataContext并在外部处理提交。 我已经看过这两个设计,但对推理没有真正的评论。 无论如何,以下模式很常见 class Repository { DataContext db = new LinqDataContext(); public IEnumerable GetAll() { … } public T GetById() { … } … etc public void SubmitChanges() { … } } 所以我的主要问题是,通过上面的实现,为什么存储库不需要实现IDisposable? 我已经看到上面几百个例子,并且它们似乎都没有打扰处理DataContext。 这不是内存泄漏吗?