由于某种原因,我的代码无法工作
from tan in TANS
where tan.ID.ToString().Count() != 1
select tan
我想选择表中重复的所有ID,因此我使用计数!=我得到了这个错误
NotSupportedException:类型“System.String”不支持序列运算符
请帮助?tan.ID.ToString是一个字符串,不是集合,因此无法应用计数
我相信你想要的是这样的:这个语法是错误的,但是很接近
from tan
我有一个名为dbUsers的集合,类型为IQueryable
这些是从linqtosql数据库上下文中提取的,即
IQueryable<Data.LinqToSQL.User> dbUsers = DBContext.Users
IQueryable dbUsers=DBContext.Users
正在对此对象调用ToList:
IList<Data.LinqToSQL.User> users = dbUsers.ToList();
IList users=dbUs
ode>private static readonly char[]SplitDelimiters=“.tocharray();
私有IQueryable基本搜索(字符串搜索)
{
//用“”替换“”对“a b”没有帮助
string[]terms=search.Trim()
.ToLower()
.Split(分隔符,
StringSplitOptions.RemoveEmptyEntries);
IQueryable查询=_repository.GetTalents();
foreach(字
在我的数据上下文中有一个名为Proveedor的实体。
为数据上下文生成一个名为Proveedors的属性,以表示Proveedor的集合。
我把它改名为Proveedores,这是西班牙语的正确拼写。
但是,只要我在模型上做了与Proveedor实体无关的任何操作并重新生成它,它就会再次将其重命名回Proveedor
我不想关闭多重化,只想让它停止重命名我的重命名:
谢谢你在哪里重命名它?如果您更改生成的C代码,它将被覆盖,正如您所看到的
您需要在dbml文件中更改它。打开那个文件。选择属性,
我有以下代码:
List<T> list = new List<T>();
IEnumerable<T> query1 = ...
IEnumerable<T> query2 = ...
IEnumerable<T> query3 = ...
list.AddRange(query1.ToList<T>());
list.AddRange(query2.ToList<T>());
list.AddRange(
我必须为新闻频道建立一个网站
请帮助我决定使用哪种技术进行数据操作
1) Linq到实体
2) Linq到SQL
3) 流畅的纤维酸盐
4) ADO.Net
网站将基于ASP.NETMVC和C
主要问题:
1) 应易于维护和扩展
2) 好成绩
如果可能的话,请用一个例子来表达你的观点
谢谢
Chitresh的利弊:
LINQ到实体
允许您添加另一层抽象(实体),而不是直接映射到表(如LINQ到SQL)。支持多个数据提供程序(不仅仅是SQL Server)。需要比LINQ to SQL多一点的学习
使用Linq to SQL和DDD风格的域层以及解耦合存储库,是否有人对如何在不将L2S问题泄漏到域层的情况下实现应用程序有什么好的想法,这仍然是可以理解的?:)
我们在选择一组事务数据时有复杂的业务逻辑,希望这些规则/规范归域所有。我们在保持我们的域持久性方面也做得很好
这带来了一个问题,因为为了实现规范,域(据我所知)需要查看被查询的类型(L2S类型)
有什么想法吗
此外,由于我不想解释的原因,nHibernate是不可能的:) Linq To Sql类可以是部分类。这意味着您可以通过实现实
我有两张桌子。与外键链接
现在,我从字段表中获取一行:
IField Field = from f in DataContext.fields
where f.mapId == mapId && f.x1 == x && f.y1 == y
select f;
处理这一行时,我需要链接表字段视图中的一些数据。所以我就这样做:
[..] Field.FieldViews [..]
根据SQL探查器,
我的Linq到Sql模型包含一些导致生成的Sql代码留在外部联接的实体。这是正确的,因为表是如何建模的
但是,对于特定的查询,我实际上知道结果将始终存在于子表中。因此,我希望将SQL从左外部联接更改为内部联接
嗯。所以我想我可以手动指定连接。例如
from q in db.Foo
join a in db.Bar on q.Id equals a.Id
select q
现在,当我检查Linq生成的sql语句时,它既包含我创建的内部联接,也包含左外部联接
我如何重写默认的连接行为,以便只有我在
是否可以在没有DataContext实例的情况下访问Linq到SQL映射数据
我这样问是因为我正在编写一些审计数据生成代码,这些代码只会触发某些实体和某些实体列。在任何LINQDB访问之前,我想在静态构造函数中修复此元数据
例如,从性能角度来看,最好只发现一次实体的主键列,而不是为变更集中的每个变更实体触发以下代码:
var metaTable = context.Mapping.GetTable(entityType);
var key = (PropertyInfo)metaTable.Ro
我正在使用Linq2Sql并尝试更新表
但当我尝试更新列时,不会发生更新
我已经用attach语句尝试过了,但是我得到了一个重复的密钥错误
我正在使用我自己的实体并将其复制到上下文实体,如您所见
这是我的问题吗
这是我的保存方法
public void SaveUser(User user)
{
Mylester.Domain.DataContext.User sqluser = new Mylester.Domain.DataContext.User();
今天我在网上看到了很多方法和技巧。我需要的是将我的Linq到SQL查询(IQueryable结果)转换为数据集以用于报告目的。报告工具是来自DevExpress的XtraReports
我在另一个项目中发现了一个很有希望的解决方案。我仍然担心整个对象图,如果我需要报告的所有层次数据、相关关联数据EntitySet、EntityRef(例如,我已向客户加载了所有订单和订单详细信息),该怎么办。是否有支持此功能的工具可以将其转换到具有相关数据表的适当数据集中,以及生成包含来自多个数据表的多个值的报告
我有一个域接口
public interface ITicket
{
...
TicketWorkflowStatus StatusId{get;set;} // Enum
}
但是数据库上的linq到sql持久层想要使用int,我可以在dbml中更改它,使本地类型为TicketWorkflowStatus?我的选择是什么?域应该与持久性基础结构分离,并且在对域模型建模时,没有理由认为此基础结构可以强制执行这样的决策
在您的情况下,它是外部耦合
经验告诉-一旦你开始为你的ORM提供太多的服务,
我正在使用LINQtoSQL调用我公司的存储过程。通常情况下,它工作得很好,但在某些查询中,如果没有找到任何内容,它将抛出SqlException No Records found
我该怎么处理这个案子
下面是一个我要打的电话示例:
/// <summary>
/// Gets the pending messages.
/// </summary>
/// <param name="historySe
我想将以下使用Linq的sql server查询转换为sql查询。我必须做的事。会怎么样?我用的是c#
表1和表2是两个表。两个表中的CRNo相同。表2为表1的明细表
查询应该是什么
已编辑:
from record1 in table1
join record2 in table2 on record1.CRNo equals record2.CRNo
where record2.IsActive
select new { record1.CRNo, record2.StageId }
各位
我需要在LINQ到SQL查询中使用Intersect。然而,我得到一个例外,基本上说我不能
代码编译得很好,但是LinqtoSQL很生气
有没有办法将Intersect与LINQ复制到SQL
提前谢谢。这绝对有可能。请参见此示例:
以下是一个如何执行此操作的示例:
var coolColors = (from pen in mydb.Pens select pen.Color).Intersect
(from pencil in mydb.Pencils select pe
我有这个快速查询,但由于我的表名为User SQL keyword,所以Linqer SQL-to-LINQ转换器无法转换SQL查询
以下是查询:
SELECT TOP (100) PERCENT
dbo.[User].OID,
dbo.[User].FirstName + ' ' + dbo.[User].LastName AS [User Name],
COUNT(dbo.AssignedCounty.OID) AS [Counties Assigned],
dbo.User
我正在使用LINQtoSQL。我使用FileTypeID从respository检索到一个名为FileType的实体。现在我已经创建了一个名为ExportFile的实体。ExportFile是文件类型的子级
以下是我所做的:
var itemType = Repository.Current.ItemRepository.GetItemTypeByID(100);
现在,我创建一个ExportFile实体,如下所示:
var exportItem = new Item() { GroupNum
DataContext如何在内部记住更改。如果我多次调用SubmitChanges会发生什么。如果调用SubmitChanges时出现异常,是否有方法清除DataContext中的所有更改。如果使用,则可以使用事务执行此操作
我试图通过连接到一行文本而不是表中的数据来扩展结果。
例如:
from c in db.customers
join x in (
select new
{
custType = "A"
}
).Union(
select new
{
custType = "B"
}
).Union(
select new
{
custType = "C"
}
)
on 1 equals 1
select new
{
c.CustomerName
每当L2S在工作中需要执行多个查询时,我都会使用TransactionScope显式创建一个事务。今天我的同事告诉我,他从不手动创建事务,因为L2是在SubmitChanges级别创建事务的。我很困惑,所以我做了一些示例代码来测试它。据我所知,结果是——他是对的。
我的问题是,它是从linq到sql的一开始就可用的,还是在某些.net版本/service pack中添加的?
在网上,有很多关于如何使用事务处理L2S的示例,所以我不确定这些人是否都会错过它?只要你做了所有更改,然后一次性调用Sub
如何正确使用下面的代码
public IEnumerable<T> Find(Expression<Func<T, bool>> predicate)
public IEnumerable Find(表达式谓词)
我需要返回一个特定对象的IEnumerable,但我需要将collection对象转换为Queryable,并将结果再次转换为List
下面是我的实现,我不知道这是否正确,我正在使用代码对通用存储库进行单元测试。
public IEnumera
出于测试目的,我需要执行一个慢速LINQ到SQL查询。只是想看看当有一个长时间运行的查询时,我们的系统是如何反应的
我有几个表,最多有50000行,但我的查询不到一秒钟。如何进行长时间运行的查询?您可以在查询中使用联接和order by。联接和order by操作滞后于SQL server。所以您的查询结果时间会更长。我真傻,我忘了实际的数据库访问只在调用ToList()时发生。我一直认为我的查询仍然非常快,因为我只检查了设置查询的行
我能够充分降低查询速度,但只需复制连接和where子句,如下
我试图加载多个相关的子表(表B和B1、B2),但Include只对一个子表有效。我正在使用EF Core 3.1,你知道怎么做吗
这种方法适用于一个子表:
var result = context.A
.Include(x => x.B)
.ThenInclude(x => x.B1);
但我不仅要从表B1加载相关数据,还要从B2加载相关数据。
您必须再次重复包含
var result=context.A
.包括(x=>x.B)
.然后包括(x=>x.B1)
.包括(x
我创建了一个自定义asp.net控件,允许您将对象绑定到它,它的功能有点像winform propertygrid
我的问题是:控件查看类的公共属性和类型,如果它检测到一种颜色,它会呈现一个颜色选择器,等等。。对于我创建的类来说效果很好-但是当使用链接中的实体时效果不太好,因为它的公共属性是基本类型(int、string、bool)
我在sql2005中创建了一个名为color的自定义数据类型,我希望它能够继承到linq创建的实体中,但它将其视为其底层类型,即System.String
那么,如
我有一个返回标量int的存储过程。我使用C#和Linq来获取结果数据,但编译时出现以下错误:
foreach语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义
我的问题是,如果存储过程只返回int,如何获取结果数据。我可以使用datatable和dataset来实现这一点,但我需要在LINQ中实现这一点
下面是一个代码示例:
AppDataContext app = new AppDataContext();
var lookup = app.s
例如,我有一个表TableA,其中包含Field1、Field2和Field3列。我的Linq到SQL代码是:
from c in a.TableAs select c
然后我将这个查询绑定到一个名为gvSample的GridView,它只使用TableA的Field1和Field2
然后,当Linq to SQL查询被枚举时,Field3的数据是否会被返回?简单地说,是-您选择的是完整的实体,因此所有映射的字段都会被返回,而不管它们是如何绑定到GridView等上游组件的
如果您只想从数据库
我目前正在使用包装器类为我的linq to sql数据上下文设置连接字符串,以便将连接字符串传递到生成的DataContext构造函数中:
public class DB : GeneratedDataContext {
public DB() : base(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString) { }
}
然后,我的LinqToSql存储库实现直接与DB类一
我有一个名为GetUserByOpenId的函数,我根本不想使用这个函数
Public Function GetUserByOpenID(ByVal claimedidentifier As String) As User Implements IUserRepository.GetUserByOpenID
Dim user = (From u In dc.Users
Join o In dc.OpenIDs On u.ID Equ
我刚刚开始使用Matt Hidinger的漂亮外观,它提供了DataContext定位的对LINQ到SQL实体的任何更改的自动审计。它适用于单个实体,但也具有关联功能,例如,在订单和订单项目相关的地方,订单项目的更改反映在订单更改下
他给出了几个关于如何审计相关表的示例,但没有一个适合我。我在论坛上问过,但我希望这里的人可能使用过这个项目,并给我一些建议。如果我尝试审核“亲子”关系,例如
Orders.Audit().AuditAssociation(o => o.OrderItems);
在网站的共享变量中包含datacontext对象是否会有问题(而不是一次又一次地实例化它)。我的意思是,只要datacontext在内存中,db连接就永远打开吗
如果我每次需要实例化它,会不会对性能造成影响
EF的context对象的情况也一样,对于整个web应用程序使用单个L2S DataContext是个坏主意。DataContext的行为与ObjectContext非常相似。它还实现了身份映射和工作单元模式。因此,它永远不应该在服务器应用程序中共享。要进一步解释,请查看我的答案。我知道两者
我正在使用.NET3.5。我有asp.NETMVC应用程序。有一个基本控制器:
public abstract class BackendController<TModel> : BaseController where TModel : class
{
// skipped ...
public ActionResult BatchDelete(int[] ids)
{
var entities = repository.GetList().Where(item =
我有一个linq查询,它从数据库中提取数据集,但不幸的是,由于数据库的遗留性质,它需要作为查询的一部分执行手动连接
现在我需要向数据集添加更多可选筛选器,其中一些筛选器依赖于联接表-如果我将第一个查询中的数据集作为.AsQueryable返回,那么如何访问联接表,因为它似乎无法从IQuerable获得
例如:
var myQuery = (from o in db.FirstTable
join t in db.SecondTable on o.Second
假设采用以下简单的表格设计:
主表(Id bigint PK,消息nvarchar(50))
母版中的样本行
101,“福”
表详细信息(Id bigint PK,主Id bigint FK到主PK,代码nvarchar(5))
详细的示例行
1001101,“A”
1002101,“B”
1003101,“C”
L2S查询的期望输出如下所示-
Id、代码、消息
101,“A,B,C”,“Foo”
下面的L2S查询给出了我想要的,但是有更好的方式来表达吗
from m in Master
ia如何在中编写查询。我要写查询
Products.Where(x=>x.CategoryId = {4,5,6....})
Products.Where(x => arrayOfIDs.Contains(x.CategoryId));
我在尝试将L2SQL添加到DataContext时遇到异常
在Rat类型中找不到密钥litterId的密钥成员litterId。键可能不正确,或者Rat的字段或属性的名称可能已更改
以下是触发它的代码:
Rat petty = new Rat();
petty.PetName = "Ratty";
dc.Pets.InsertOnSubmit(petty);
老鼠是从宠物衍生出来的一类动物。我可以毫无问题地插入宠物物品。我已经根据MSDN中的规范与L2SQL O/R设计
无效操作例外:
无法对“表(PollOptionVote)”执行创建、更新或删除操作,因为它没有主键
但表(PollOptionVote)包含一个主键
请注意我有几次遇到DBML文件与数据库不同步的情况
首先,仔细检查它是否真的有主键。
之后,打开dbml文件,删除表,再添加一次
我有一个linq到SQL的应用程序,我正在工作。我正在创建一个新项目,并试图提交到数据库(插入)。偶尔会发生重复的密钥异常,这实际上是经常发生的。问题是,一旦抛出异常,我也无法插入有效项。它总是给我同样的错误。重新启动应用程序解决了问题,我可以插入新值。想法?如果提交更改失败,则保留所有挂起的更改以供重试。这使得捕获异常、更新对象并重试成为可能
如果这是一个问题,您可能会将DataContext保留太长时间。我假设您正在使用相同的DataContext重试。DataContext应该是一个非常短
我正在将一个表加入内存列表,并希望根据结果创建一个匿名类型。我已将这两个数据源连接在一起,但我不确定在匿名类型中使用内存中列表中的属性所需的语法
这是我的密码
public DataKeys(IEnumerable<Element> elements)
{
var defsource = new DefinitionSource();
var items = from def in defsource.Definitions
我有一张顾客桌,一张运动桌,和顾客加入运动桌。最后一张表告诉我哪些客户玩什么运动(包含其他两张表的外键)
强制执行外键约束,外键不能为null
使用LINQ,是否有一种简单的方法可以删除客户,同时删除联接表中引用该客户的所有记录
我可以用很难的方法来做,即首先从联接表中删除相关记录,然后从客户中删除客户的记录。简单才是真正的关键。基本上,您需要从Customer_Sports表中删除与给定客户匹配的所有内容,然后自己删除客户。我认为,如果在执行SubmitChanges()之前删除这两个选项,就
我正在编写一个位于第三方应用程序之上的web应用程序。我们可以将对象插入到第三方数据库中的唯一受支持的方法是将数据插入到通用的“暂存表”中,然后调用web服务通过其业务逻辑进行处理
问题是这可能相当缓慢
我知道在Linq中,我可以为每个类提供一个Insert*方法,然后处理单个Insert。问题是Insert*方法是针对每个对象单独调用的,这意味着我们在多次调用web服务时会出现延迟。在处理关联时,这是一个更大的问题,因为我们必须确保以正确的顺序插入关联,并且每个关联在插入后都用主键更新L2SQ
我正在尝试为Windows Phone 8创建一个应用程序,该应用程序在LongListSelector中显示数据,LongListSelector由该应用程序附带的SQL CE数据库填充。我想我已经打开并读取了数据库函数,但是我不能正确地使用LINQtoSQL对LLS的数据进行分组
我有一个数据库类,它有一个表和相应的列。我正在使用助手类“KeyedList”为以下数据添加公共名称:
最后,这里是我尝试使用的LINQ to SQL:
var items =
from i
我想使用linq to sql查询,该查询将使用内部联接和左外部联接(使用.DefaultIfEmpty()),但查询不起作用。在T-SQL中,这是一个简单的任务,这让我感到困扰。
我的问题是:
var results = from cy in _dc.Companies
join cyv in _dc.CompanyVersions
on cy.CompanyId equals cyv.Comp
如何获取产品列表,例如,他们的产品名称以数字开头
谢谢 一种方法:
产品。其中(n=>n.ProductName.SubString(0,1)>=“0”和&n.ProductName.SubString(0,1)一种方法:
Products.Where(n=>n.ProductName.SubString(0,1)>=“0”和&n.ProductName.SubString(0,1)
您也可以在XML映射文件中执行此操作,但我记不起手动定义的DataContext中所需代码的语法。如果需要,
给出如下内容(仅作为示例放在一起)
员工ID |时间|职位|轮班长度
1 | 4月1日08:00 |经理| 8
0 | 4月1日08:00 |维护| 8
1 | 4月2日08:00 |经理| 8
2 | 4月1日08:00 |职员| 4
1 | 4月3日08:00 |经理| 8
0 | 4月2日12:00 |维护| 1
0 | 4月3日12:00 |维护| 4
如果给定特定日期,我需要能够检索在该日期之前发生的每个员工ID的最新记录(仅基于时间)
例如,如果给定的日期是
四月三日下午五时
我希望
我正在按照Steven Sanderson的优秀著作《Pro ASP.NET MVC 2框架》中建议的存储库模式进行一个项目
以下面的例子:我有一个表,用于“产品”和“图像”。两者都有自己的存储库,可以在构造函数中创建新的DataContext。现在,我想在两个名为“ImagesForProducts”的实体之间建立多对多关系
我是否应该为ImagesForProducts实体创建单独的存储库?如果是,如何在所有实体之间共享DataContext?在这种情况下,我必须用两个存储库(用于产品和Im
可能重复:
linq-to-sql类和实体框架之间有什么区别,linq-to-sql应该使用什么样的情况,什么时候实体框架将是最佳选择。查看快速比较。
对我来说,LINQtoSQL是一个更快的方式来获取和运行一个小应用程序,而实体框架更适合于大型的更复杂的应用程序,您可以花些时间来建立一个大的基础。
是否可以将var数据转换为哈希表
Hashtable hsTest = new Hashtable();
var oFeat = (from t in db.test
where t.Product_ID == iProductID
select t);
假设您希望使用Product_ID作为哈希表中的键,并使用Product_Name之类的内容作为值。你可以这样做:
Hashtable hsT
我在数据库的表中有一个整数列,我想选择它,但它给了我一个无法从int转换为string的异常
示例我想从Category表中选择CategoryID,其中CategoryName=“Cat”
categoryID是int&categoryName是string
我尝试的linq查询
string Category_ID = (from p in StaticVa.new_data_context.Categories
where p.C
在我的表格中,输入当前日期时间的记录。我需要连续显示它。数据库中输入的记录是什么。
为了编写Web服务,我需要每隔1分钟显示新输入的记录。
如何将linq写入sql查询以在1分钟输入记录之前显示?您可以立即将数据保存在数据库中,但当您想在Gridview中显示数据时,可以使用线程延迟。睡眠(60000)
1 2 3 4 5 6 ...
下一页 最后一页 共 32 页