草庐IT

c# - 使用 LINQ-to-SQL 从事务内部回滚存储过程调用?

我有一个与SQLServer数据库一起运行的C#.netwinform程序。我正在使用LINQ-to-SQL。是否可以在我的程序中使用LINQ-to-SQL回滚对一个或多个存储过程的调用?最初我认为在存储过程中管理事务是有意义的,但如果我需要回滚多个存储过程调用作为单个事务的一部分,则需要在我的C#程序中完成。谁能给我指出一个代码片段来说明如何做到这一点,或者提供一些替代方案的见解? 最佳答案 DbTransaction的另一种选择是TransactionScope-这提供了一个更简单的编程模型,并且可以扩展到多个同步数据库和其他提

c# - 如何为类库包含 log4net?

我想将日志记录功能实现到一个类库中,该类库本身在Web服务中被引用。我尝试添加app.config并完成所需的一切,但似乎在抛出异常时,log4net什么都不做。我的应用程序配置在AssemblyInfo.cs中:[assembly:log4net.Config.XmlConfigurator(ConfigFile="app.config")]在LogManager.cs中:privatestaticreadonlyILogLog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);publ

c# - Visual Studio 变得疯狂 : 'The directory name is invalid' error when trying to compile

出于一些非常奇怪的原因,我的VisualStudio2008在尝试编译C#项目时尝试将可执行文件的输出写入与可执行文件同名的目录,至少看起来这就是错误所在消息暗示。在我的任何项目上运行编译后,CSC.EXE报告以下编译器错误:Couldnotwritetooutputfile'D:\Projects\Examples\StringBuilderVsString\obj\Release\StringBuilderVsString.exe'--'Thedirectorynameisinvalid.'当我查看obj\Release或obj\Debug时,所有中间资源(如StringBuild

c# - "Both use the XML type name X, use XML attributes to specify a unique XML name and/or namespace for the type"怎么解决?

我有以下枚举定义...namespaceItemTable{publicenumDisplayMode{Tiles,Default}}namespaceEffectiveItemPermissionTable{publicenumDisplayMode{Tree,FullPaths}}...然后我有以下类(class)...publicclassTablewhereTDisplayMode:struct{//publicpublicTDisplayModeDisplayMode{get{returnmDisplayMode;}set{mDisplayMode=value;}}//pri

c# - Log4net - 使用继承时的最佳策略

我在我的应用程序中集成了log4net。我有一些帮助方法来帮助记录调用log4net。重构时,我打算将这些方法移到基类中,这样代码就不会在其他派生类中重复。在没有继承模型的情况下,以下在每个类中都能正常工作privatestaticreadonlyILogLog=LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);将以上内容放在基类中将返回声明类型作为基类而不是派生类。将此声明移至基类的最佳方法是什么?目前,我可以想到几种方法来实现这一点,但没有发现它们是最佳的。 最佳答案

c# - Linq to Entities EF4

我有一个包含name、desc和users(属于该组)集合的Groups域模型我正在尝试获取特定用户所属的所有组。这是我的LinQ声明:varresults=frompinAuthorizationService.UnitOfWork.Groups.FindAll()where(p.Users!=null&&p.Users.Select(u=>u.Id).Contains(CurrentUser.Id))selectp.Name;当我尝试执行查询时出现以下错误Cannotcompareelementsoftype'System.Collections.Generic.ICollecti

c# - 路由 : How to hide action name in url?

在MVC默认路由中routes.MapRoute("Default",//Routename"{controller}/{action}/{id}",//URLwithparametersnew{controller="Home",action="Index",id=UrlParameter.Optional}//Parameterdefaults);每当访问索引操作时,当访问“索引”操作时,url不会显示操作名称。我想在另一个Controller上获得该行为,该Controller正在检索单个项目的数据。我希望将默认操作命名为“get”,对于此操作,我希望url不显示操作名称,只显示

c# - Linq To SQL 附加/刷新实体对象

在LinqToSql中,更新我的一个实体Faculty时,我正在创建Faculty对象的一个​​新实例,然后使用用户提供的值初始化一些属性。p>如果我将这个新对象附加到实体集并提交更改,则我未设置的属性将采用它们是任何数据类型的默认值。如何刷新新对象,使已设置的属性保留其值,而未设置的属性从数据库中获取值?谢谢 最佳答案 你试过吗context.Refresh(RefreshMode.OverwriteCurrentValues,faculty);提交更改后,context是您的linq2sql数据上下文,faculty是您要刷新的

c# - 使用 LINQ-to-SQL 处理 where 子句中的空值

VisualStudio中的LINQ-to-SQL查询生成一个有错误的SQL查询。在LINQPad中,使用相同数据库(或DataContext)的相同LINQ查询运行得很好。LINQ查询varaccesDomaines=fromtindb.Accesswheret.IdUser==access.IdUtilisateurwheret.IdDomain!=nullwheret.IdRole==access.IdRolewheret.IdPlace==access.IdPlaceselectt;下面是生成的SQL中发生错误的一小部分:WHERE(...)AND([t3].[IdRole]=

c# - LINQ to Entities 查询不支持转换为十进制

我有一个数据库表Transaction(transactionID,LocalAmount...)。其中Localamount属性的数据类型是float。在UI上,我试图在按钮单击事件的一行中返回列(Localamount)的SUM。我使用了decimal而不是float但是,我在转换为decimal的代码中遇到错误System.NotSupportedExceptionwasunhandledbyusercodeMessage=CastingtoDecimalisnotsupportedinLINQtoEntitiesqueries,becausetherequiredprecisi