草庐IT

roslyn-code-analysis

全部标签

c# - Entity Framework 6.1 Code First Cascading Delete with TPH 用于派生类型上的一对一关系

我试图在公共(public)基类和不相关类的派生类之间创建2个一对一的关系,这样当我删除父行时,数据库中的子行也会被删除。几天来我一直在思考这个问题,并且我已经尝试了fluentapi中所有(对我来说)可以想象的关系组合。至今没有任何令人满意的结果。这是我的设置:publicclassOtherType{publicintID{get;set;}publicint?DerivedTypeAID{get;set;}publicvirtualDerivedTypeADerivedType{get;set;}publicint?DerivedTypeBID{get;set;}publicvi

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的

c# - 代码合约: ccrewrite exited with code -1?

我是契约(Contract)代码的新手。我下载了最新版本的代码合约项目(1.4.40314.1)并开始在我的项目中实现它。当我在VS2010中通过代码契约(Contract)选项卡启用“Runtume检查”时,出现此错误错误1​​命令“"C:\ProgramFiles(x86)\Microsoft\Contracts\Bin\ccrewrite""@Application1ccrewrite.rsp""以代码-1退出。每次我构建项目。请帮忙。现在这对我来说是个大问题。每个使用代码契约(Contract)的项目都在VS2010错误窗口中显示相同的错误,并且在输出窗口中找不到“Applic

c# - Code Contracts 是否未能发现 Nullable<T>.HasValue 和 null 之间的明显关系?

我正在尝试将代码契约应用到我的代码中,但我遇到了一个令人费解的问题。这段代码不符合契约(Contract),但除非我真的很厚,否则我希望它能够轻松分析id在返回时必须有一个值if(id==null)thrownewInvalidOperationException(string.Format("{0}'{1}'doesnotyethaveanidentity",typeof(T).Name,entity));returnid.Value; 最佳答案 我已经弄清了这个行为的真相,这不是CodeContract的错。我在ILSpy中打开

c# - "The breakpoint will not currently be hit. A copy of file was found in dll file, but the current source code is different"

我不断收到此错误消息,提示存在.cs文件的副本,因此不会命中断点。我尝试过清理解决方案、重建、删除obj和bin文件夹中的.pdb文件、关闭VS并重新启动它、重新启动整个机器(这是Windows!有时最复杂、无法解释的问题会像这样解决:\)知道我还能尝试什么吗?这是VS2015上的.net项目 最佳答案 我发现了问题,原来IIS配置为使用我备份文件夹中项目的不同副本。这听起来很傻,但如果有人有类似的问题,我会保留这个问题。 关于c#-"Thebreakpointwillnotcurren

c# - EF Code-First 中查找表的最佳实践

我正在使用EF做我的第一个项目,我打算采用代码优先模型。我试图找到一些关于处理相当经典的“查找表”场景的指导。我正在处理一个非常典型的情况,我将在其中保留地址数据。所以,我有一个简单的地址DTO...publicclassAddress{publicintId{get;set;}publicvirtualstringStreetAddress1{get;set;}publicvirtualstringStreetAddress2{get;set;}publicvirtualstringCity{get;set;}publicvirtualstringState{get;set;}pub

c# - 使用 Roslyn CodeFixProvider 向方法添加访问修饰符?

几天前我在TechEd,我看到了thistalkbyKevinPilch-Bisson(releventpartstartsatabout18minutes)...我觉得这很酷,所以我决定自己和Roslyn一起玩。我正在尝试制定规则“必须声明访问修饰符”(StylecopSA1400)-意思是,这违反了规则:staticvoidMain(string[]args){}没关系:publicstaticvoidMain(string[]args){}它必须有明确的内部关键字、公共(public)关键字、私有(private)关键字或protected关键字。检测违规相当容易,但现在我正在尝

c# - 使用 Roslyn 将自动实现的属性添加到类

我正在尝试通过从头开始构建现有但简单的应用程序来学习Roslyn,这似乎是一种有效的学习方式。无论如何,我有以下代码:varroot=(CompilationUnitSyntax)document.GetSyntaxRoot();//AddthenamespacevarnamespaceAnnotation=newSyntaxAnnotation();root=root.WithMembers(Syntax.NamespaceDeclaration(Syntax.ParseName("ACO")).NormalizeWhitespace().WithAdditionalAnnotati

c# - .net Core amd Roslyn CSharpCompilation,类型 'Object' 在未引用的程序集中定义

我正在尝试将一些.net代码移植到新的Core运行时,但我在移植一些即时编译时遇到了麻烦。继续,它总是要求我提供对System.Runtime和mscorlib的引用,但不知道如何引用它们。附带说明一下,我不能引用Framework4.6,因为该项目必须发布到带有.netCore的Linux机器上。这是最少的代码:stringtestClass=@"usingSystem;namespacetest{publicclasstes{publicstringunescape(stringText){returnUri.UnescapeDataString(Text);}}}";varcom

codereview指南:使用 vs code 插件 gitlens 对比不同分支代码

项目开发流程项目评审——>项目开发——>项目测试——>代码审查——>项目上线在项目评审之后,便开始编码开发,编码开发,使用正确的branch分支开发,遵循合适的GitFlow是非常有必要的。GitFlow参考资料GitFlow的正确使用姿势作者GitFlow项目使用创建项目gitlab仓库的时候,默认有个master分支,项目架构搭建,使用的就是这个分支。项目架构搭建结束的时候,会从master分支创建一个develop分支,这个分支是主开发分支,在开发一个新功能的时候,会从develop创建一个feature_xxx分支,feature_xxx分支用于开发新功能,新功能开发完的时候,会在fe