数据库中的ASP.Net用户活动追踪
这是一个简单而高效的活动记录框架,我想与现有的基于ASP.NET的Web-App集成(我是基于LINQ-TO-SQL的SQL DB作为后端).我正在使用类似Service -Architecture执行数据库操作的东西 - 是调用相关的LINQ操作.我几乎适用于每个实体(即DB表)的服务类,并且可以处理CRUD操作. 通常,我需要跟踪活动 喜欢 - X先生添加了一个新项目,我 在此过滤器上搜索,Z先生出口了 网格到Excel的结果 文档等...和类似的简单 基于操作的记录(现场级别 登录目前还很遥远) 所以,这是我在SO,其他论坛和网络上的研发两天中发现的: 方法1: 使用两个表的简单旧方法:活动(存储所有活动及其演员)和ActivityType(列出了活动类型).我有一个服务层,所以我可以拥有一个" ServieBase"类,该类可以点击所有CRUD事件并记录我感兴趣的事件.一切都是从代码中处理的. 示例: http://dotnetslackers.com/a
2 2024-02-12
编程技术问答社区
是否可以使用Linq来ALTER一个数据库表?
我正在尝试将列在访问数据库内部的表中删除,发现自己无法做到!有可能吗?这让我认为我对linq to sql 无法做到的事情没有任何清晰的想法. 有什么想法吗? 解决方案 LINQ到SQL中没有任何东西可以在不编写T-SQL的情况下执行此操作,否. 同样,如果不选择要更改并操纵对象的数据,则不能进行直接更新或删除.您必须为这些东西编写存储过程,并将它们添加到您的模型中.参见使用 >如果您不介意源代码中的T-SQL,也应该有效. 其他解决方案 您可以做到. 这是一个例子: ALTER TABLE Import Alter column [Tot_Val] DECIMAL(10,2) ; GO
0 2024-01-24
编程技术问答社区
Stackoverflow'的相关问题
只是想知道您将如何实现类似于stackoverflow的问题.您是否只需匹配标签,匹配标题中的类似单词或整个问题中的单词? 特别对linqtosql方法感兴趣. 欢呼! 解决方案 在Stackoverflow的 podcast 32 Jeff Atwood讨论了"相关问题"的功能.我建议听更多详细信息,但基本上他说这是比较问题标签,问题标题和问题文本的组合. 但是,他拿走了所有问题的文字,并删除了前10,000个最常见的英语单词.剩下的是与该问题有关的基本独特的单词,所有填充 - 英语被删除. 因此,虽然我没有为您提供LINQ-to-SQL信息,希望这可以使您进入正确的轨道.
14 2024-01-22
编程技术问答社区
检查时间范围的重叠,看门人问题[SQL]
我正在遇到更大问题的路障. 作为一个大查询的一部分,我需要解决一个"夜间观察者"问题. 我有一个带有时间表的桌子班次: ID | Start | End 1 | 2009-1-1 06:00 | 2009-1-1 14:00 2 | 2009-1-1 10:00 | 2009-1-1 18:00 3 | 2009-2-1 20:00 | 2009-2-2 04:00 4 | 2009-2-2 06:00 | 2009-2-2 14:00 作为查询的一部分,我需要确定在给定时间范围内,房间中是否至少有1个守望者. 因此,如果我指定了范围2009-1-1 06:00到2009-1-1 12:00,则结果是正确的,因为Shifts 1和2合并以覆盖此时间段 - 实际上,可以将任何数量的班次链接在一起以保持手表.但是,如果我检查了2009-2-1 22:00到2009-1-2 10:00,结果是错误的,因为第二天早上凌晨4点至6点之间的断裂.
0 2024-01-22
编程技术问答社区
LINQ表达式中的Aggregate Function抛出了错误。(不能被翻译成存储表达式)。
错误: LINQ到实体不识别方法'System.String聚合[String,String](System.Collections.generic.Generic.Enumerable 1[System.String], System.String, System.Func 3 [System.Strote.String,System.Stry.String,System.System.String])'方法,此方法不能翻译成商店表达式. linq表达式: Items = context.TESTANSWER.Where(x => x.ID == 6729223232) .Join(context.QUESTIONREPOs, x => x.QUESTIONID, y => y.ID, (x, y) => new { x = x, y = y }) .Join(context.OPTIONREPOs, p => p
4 2024-01-19
编程技术问答社区
聚合是否存在致命缺陷,因为每个into子句都是单独执行的?
当用作带有多个Into条款的linq表达式的第一个(外)子句时,vb.net的Aggregate查询存在致命缺陷,因为每个Into子句分别执行? SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant SELECT MIN(ZoneMin), MAX(ZoneMin) FROM Plant是Dim limits = A
2 2024-01-19
编程技术问答社区
在linq到sql查询(sql Server)中聚合或联接字符串
给出了 之类的表格 ID | Name | City 1 | X | Y 2 | Z | Y 3 | W | K 我想产生 的结果 ID | Description 1 | Y (X, Z) 3 | K (W) 我尝试了 之类的东西 From C In Clients Group C By C.ID, C.City _ Into G = Group Select New With {.ID = ID, .Description = City & _ " (" & (From C In Clients Select C.Name).Aggregate(Function(X, Y) X & ", " & Y) & ")"} 给我一​​个错误"不支持查询操作员'汇总'." 也尝试了 From C In Clients Group C By C.ID, C.City _ Into G = Group Select New With {.I
2 2024-01-19
编程技术问答社区
当可能存在一个空集时,如何做Linq聚合?
我有一个Things的linq集合,其中Thing具有Amount(十进制)属性. 我试图在某个部分的某个子集上对此进行汇总: var total = myThings.Sum(t => t.Amount); 这很好.但是后来我添加了一个条件,结果使我没有任何事情: var total = myThings.Where(t => t.OtherProperty == 123).Sum(t => t.Amount); ,而不是总计= 0或null,我会得到一个错误: system.invalidoperationException:null值不能分配给 具有类型system.decimal的成员,它是一种不可删除的值类型. 这真的很讨厌,因为我没想到这种行为.我本来希望总数为零,也许是无效的 - 但肯定不会引发例外! 我在做什么错?什么是解决方法/修复? 编辑 - 示例 感谢您的评论.这是一些复制和粘贴的代码(未简化).是linqto
4 2024-01-19
编程技术问答社区
在LINQ中返回多个聚合列
我想将以下SQL转换为Linq: SELECT (Select count(BidID)) as TotalBidNum, (Select sum(Amount)) as TotalBidVal FROM Bids 我已经尝试过: from b in _dataContext.Bids select new { TotalBidVal = b.Sum(p => p.Amount), TotalBidNum = b.Count(p => p.BidId) } ,但是获取错误" bids不包含" sum"的定义,也没有扩展方法" sum"接受类型" bids"的第一个参数. 我该如何在linq中执行此操作? 谢谢 结论: 最终答案是: var ctx = _dataContext.Bids; var itemsBid = (from b in _dataContext.Bids select n
2 2024-01-19
编程技术问答社区
LINQ-SQL和ADO.NET-如何使一个批量交易完全异步化?
因此,我正在处理ASP.NET 4.0 Web表单应用程序,其中DAL与Linq-sql和Classic Ado.net的组合构建(用于审核交易以及批量更新). . 我在网站上有一个管理页面,该页面在一堆记录上执行更新(可能是数千个),更不用说这些记录上有T-SQL触发器.不用说,它是更新的杀手. 所以,当然,页面正在计时. 更新事务正在执行以下代码: db.ExecuteCommand("UPDATE [tblFoo] SET [IsFoo] = 0 WHERE [Bar] = {0}", bar.Id); 所以这是经典的ado.net批量更新. 我试图做的是通过单击按钮上的线程点击表单上的线程: 来调用此方法异步. protected void MyButton_Click(object sender, EventArgs eventArgs) { var thread = new Thread(OnMyAsyncMethod) { Nam
4 2024-01-19
编程技术问答社区
第三方Oracle .NET提供商的比较
实体框架是否值得转到一个新的小应用程序?大约10个表和一个Winforms应用程序. ie是DataTables/Datarows或Linq-to-SQL 的替代方案 解决方案 我将不同意那些说Linq到SQL的人,对于一个小型项目来说是可取的,基于使用LINQ到SQL和小型项目的实体框架的现实世界经验.我很难越过LINQ到SQL令人难以置信的模式更新方案(丢弃您的旧型号,重新生成新的模型,然后重新应用您的自定义).您可以在大多数情况下完成这两个工具需要做的事情,但是,如果您的数据库模式会改变或发展,您将花费 Way 太多时间来摆弄L2S设计师. 避免实体框架的最佳理由是,如果您不了解它.我没有在这里翻转;如果您确实了解L2,而您不了解EF,那么一定要使用L2;您可能会更有生产力.但是,如果您了解这两种工具,EF几乎可以完成L2S可以做的所有事情,并且可以做更多的事情(简单的模型更新,模型优先,代码优先型号,可自定义的代码,RIA Services等...) . 其他
0 2024-01-19
编程技术问答社区
混合使用ADO.NET和LINQ-TO-SQL不好吗?我的数据层不工作
更新 正如Mathias所指出的那样,此确切的问题已在此处报告并解决: asp.net-mvc( IIS6)流量高的错误:指定的铸件无效 原始帖子 这可能是一个特定的调试问题,无法在此处发布,但是我无论如何都希望它能产生其他人发现有用的解决方案. 我有一个在适度负载下运行的Web应用程序 - 也许每秒5个请求.它有一些较旧的代码通过ADO.NET + DataReaders与SQL对话,并且至少使用了相同的技术,没有问题.它还使用LINQ-TO-SQL具有一些较新的代码.两种技术都使用相同的连接字符串来最大化连接池重复使用. 最近,我经历了这些症状描述的非常奇怪的行为: 一切都可以完美地适用于一天,然后突然对数据层(ADO.NET和LINQ)返回无法通过我的代码解析的数据 - 我' ll会得到诸如"无法施放type'system.int32'键入'system.string'的对象的异常.".或"序列不包含元素"或" indexoutofrangeEx
0 2024-01-19
编程技术问答社区
表格数据更新时的Catch/Raise事件 C#
我有24/7服务,可以在SQL Server中保留用于充电,路由等的设置(配置数据).启动后,它将使用LINQ2SQL从表加载数据,并通过所有应用程序使用数据. 我们需要一个解决方案来更新表中的设置数据而无需重新启动应用程序.因此,我有兴趣抓住/确定表是否已更新,以便我可以在应用程序中刷新设置数据.我的意思是,有可能在桌子上删除,更新或插入时会增加事件. 谢谢. 解决方案 您正在寻找 sqldependenty类. 其他解决方案 SQL Server具有@@ RowCount函数,它将告诉您有多少行受到影响.不确定如何从Linq 获得它 我的意思是有可能发生事件 有什么时候会提出 删除,更新或插入表. 在数据库侧,这可以通过触发 来完成
0 2024-01-19
编程技术问答社区
为什么我的SqlCommand返回的是一个字符串,而它应该是一个int?
我有一个应该始终返回单个int的查询.我现在记录了它,将字符串完全无关与应有的内容返回. 我们已经获得了一些随机的构造感受,我们已经跟踪到了几个数据库查询.经过一些额外的记录,我发现今天早上,下面的查询返回了字符串"角斗士". weblity.pkid是一个int列,大部分时间都可以工作,但是有时会失败,并且返回了waaaay的int(比任何有效的网站更大)或随机字符串. 每个会话开始一次打击此特定查询.它没有使用共享连接,因此我很难了解它如何获得如此混杂的结果.连接池中可以有某种腐败吗? 我不认为问题与此查询隔离.我也看到了来自LINQ查询的类似的构造感(由于出乎意料的结果).我们还在同一时间发现了其中一些错误: 将请求发送到服务器时发生了传输级别的错误. (提供商:TCP提供商,错误:0-远程主机强行关闭现有连接. 可能是连接问题吗?或者,也许我们在数据库服务器和Web服务器之间混合了结果集?这真的让我挠头. 有害查询: public sta
8 2024-01-19
编程技术问答社区
实体框架与Linq到实体vs Linq到SQL
我阅读了很多有关如何使用WPF .NET 4应用程序中数据库工作的文章.据我了解,主要两种技术是: Linq到SQL(L2S) 实体框架(EF) 但有时我也可以看到LINQ对实体(L2E)技术,但找不到明确的解释EF和L2E之间有什么区别. 实体框架和LINQ与实体技术之间有任何区别,还是这是一种技术的两个同义词? 解决方案 有两种用实体框架编写查询的方法: linq到实体( -us/library/bb386964.aspx ) Entity sql( l2e不是单独的技术,而是EF的一部分. 请查看本文以进行比较:
2 2024-01-19
编程技术问答社区
加快LINQ插入的速度
我有一个CSV文件,我必须将其插入SQL Server数据库中.有没有办法加快linq插入? 我已经创建了一个简单的存储库方法来保存记录: public void SaveOffer(Offer offer) { Offer dbOffer = this.db.Offers.SingleOrDefault ( o => o.offer_id == offer.offer_id); // add new offer if (dbOffer == null) { this.db.Offers.InsertOnSubmit(offer); } //update existing offer else { dbOffer = offer; }
6 2024-01-19
编程技术问答社区
连接突然中断时ADO.Net事务的命运
我们在一台计算机上遇到问题,并带有错误消息: "服务器上的msdtc不可用." 代码使用 transactionscope 包装一些lingtosql数据库代码;交易内部还有一些原始的ado.net. 作为仅访问单个SQL数据库(2005),为什么完全使用分布式事务? (我不想知道如何启用MSDTC,因为代码需要使用其当前设置在服务器上工作) 解决方案 当您的事务使用多个数据库连接时,这几乎总是发生.因此,假设您正在更新两个表.您可以使用一个连接更新第一个表,但使用其他第二个连接更新第二个表.这将导致交易升级到MSDTC,即使使用TransactionsCope对象也是如此. 我们解决的方式是在执行交易时,我们为所有写作使用一个数据库上下文对象.这消除了升级.自从这样做以来,我们从未出现过MSDTC消息. 兰迪
在DbDataReader上是否有IQueryable的实现?
我有很多现有的代码,它使用RAW ADO.NET(DBConnection,dbdatareader等).我想过渡到将LINQ to SQL用于新代码,但现在将现有代码和新代码都放在一组统一的存储库类后面. 我遇到的一个问题是:我希望存储库类将结果集公开为iQueryable ,我可以免费使用Linq到SQL.如何将现有的DBDATAREADER结果设置包装在Iqueryable中?我是否必须从头开始实现dbdatareader的iQuery? 注意,我知道Linq到数据集,但是由于记忆量表问题,我不使用数据集,因为我处理的结果集可能很大(1000订单).这意味着dbdatareader实现的iQueryable也将需要有效(即不要缓存导致内存). 解决方案 我看不到实现IQueryable的任何好处 - 这表明功能比实际可用的更多功能 - 但是,您可以轻松地将其实现为IEnumerable>仅有的.迭代器块将是一个合理的选择: public
6 2024-01-19
编程技术问答社区
用C#进行数据库交互的介绍
直到我的编程生涯(两年),我没有太多的数据库经验,但是现在我工作的公司广泛使用数据库来使用他们的产品,我感到弯曲. 因此,我想知道如何最好地开始学习与C#的数据库互动.我已经阅读了有关linq-to-sql和ado.net的信息.这些是正确研究的正确技术吗? 我从哪里开始? 编辑:感谢所有响应.有很多好的 - 我很难选择一个" the"答案.这对我有很大帮助! 解决方案 我建议您花时间学习 Microsoft SQL Server 本身,数据访问应用程序块 > ado.net实体框架. 学习SQL Server的输入点在这里 - > 中心 学习的入口点Ado.net在这里 - > 学习ado.net 在msdn 首先,为了很好地了解Ado.net是什么,请检查以下链接: ado.net ado.net entity entity Framework 学习如何在不使用任何框架和ORM工具的情况下将C#中的直接查询编写为SQL Server
0 2024-01-19
编程技术问答社区