草庐IT

流畅度

全部标签

c# - 了解如何创建流畅的界面

您好,我正在尝试了解如何在不对用户施加太多限制的情况下构建一个可读且错误的Fluent-API为简单起见,假设我们希望将以下类更改为流畅publicclassCar{publicintGallons{get;privateset;}publicintTons{get;privateset;}publicintBhp{get;privateset;}publicstringMake{get;privateset;}publicstringModel{get;privateset;}publicCar(stringmake,stringmodel){Make=make;Model=mode

c# - 检查参数是否是具有流畅验证的 3 个值之一

我有一个包含一个字符串属性的类:publicclassBla{publicstringParameter{get;set;}}我想编写一个自定义的AbstractValidator,它检查参数是否等于这些字符串之一:str1,str2,str3我想这将是一个起点:RuleFor(x=>x.Parameter).Must(x=>x.Equals("str1")||x.Equals("str2")||x.Equals("str3")).WithMessage("Pleaseonlyuse:str1,str2,str3");但是我可以链接它并显示一条错误消息,最好不要对可能性进行硬编码,例如

c# - 如何设计流畅的异步操作?

异步操作似乎无法与我更喜欢编写代码的流畅界面配合使用。异步如何与流畅结合?示例:我有两个方法之前返回了一个MyEntity但在更改为Async时效果不佳。在我异步化它们之后,我必须await任务的结果,但我必须为添加的每个步骤执行此操作:MyEntityXx=await(awaitFirstStepAsync()).SecondStepAsync();必须有更好的方法。 最佳答案 更好的方法是使用类似于LINQ的延迟执行。您可以拥有许多实际上什么都不做的方法,它们只是设置一些选项或存储一些逻辑。最后有一些方法可以实际执行之前存储的所

C# 和 Excel Interop 问题,保存 excel 文件不流畅

我可以打开和写入excel文件,但是当我尝试通过传递路径来保存文件时,保存操作会提示保存对话框。我期待它能够将文件保存在指定路径代码如下:excelApp.Save(exportToDirectory);excelApp.Quit();其中,exportToDirectory是:“C:\files\strings.xlsx”。PS:我已经检查过excel版本和类似问题。谢谢 最佳答案 您需要使用Workbook.SaveAs而不是Application.Save:Excel.Applicationapp=newExcel.Appli

c# - 更智能的 Entity Framework Codefirst 流畅的 API

我需要在所有DateTime和DateTime上使用SqlServer的“datetime2”类型吗?我所有实体对象的属性。这通常使用像这样的流畅API来完成:modelBuilder.Entity().Property(c=>c.SendTime).HasColumnType("datetime2");但是,我宁愿不要为每个实体类型中的每个DateTime字段手动执行此操作。(我没有可以放置所有DateTime属性的通用基类型,因为DateTime属性特定于定义它们的实体类型)。简短的问题:我有哪些选择?长问题:我正在考虑使用反射并进行了尝试,但它变得非常困惑,因为似乎流畅的API并

c# - 如何在 ASP.NET MVC 5、Entity Framework 6 中使用流畅的 API 映射表?

我正在尝试使用带有内置用户身份验证的ASP.NETMVC5在EntityFramework6中使用C#创建一对一关系。我能够使用EntityFramework创建的默认值创建表和连接。但是,当我尝试使用流畅的API时……更具体地说,当我在模型上使用时,即使创建空数据库,使用包管理器控制台进行的数据库迁移也会失败。如何映射我的一对一关系?我的错误://error//my.Models.IdentityUserLogin::EntityType'IdentityUserLogin'hasnokeydefined.//DefinethekeyforthisEntityType.//my.Mo

c# - Try-Catch 表达流畅

此LINQ查询表达式因Win32Exception“访问被拒绝”而失败:Process.GetProcesses().Select(p=>p.MainModule.FileName)这失败并出现IOException“设备未准备好”:DriveInfo.GetDrives().Select(d=>d.VolumeLabel)过滤掉不可访问的对象并避免异常的最佳方法是什么? 最佳答案 写一个扩展方法!voidMain(){varvolumeLabels=DriveInfo.GetDrives().SelectSafe(dr=>dr.V

c# - 为多行 lambda 创建表达式树的 Roslyn 流畅语法

我正在编写一个基于Roslyn的自定义工具,试图根除CS0834通过在构建时将给定的多行lambda重写为表达式树。编辑:此时,我只针对匿名多行lambda。例如://WillproduceCS0834ifBartakesExpression>Foo.Bar((intx)=>{...});到Foo.Bar(Expression.Lambda>(Expression.Block(...),Expression.Parameter(typeof(int))));这样就可以正确编译了。虽然我可以弄清楚转换给定代码所需的Expression.(blah)语法,但使用Roslyn完成它完全是另一

c# - 在流畅的 nHibernate 中使用通用存储库模式

我目前正在开发一个中型应用程序,它将访问不同站点上的2个或更多SQL数据库......我正在考虑使用类似这样的东西:http://mikehadlow.blogspot.com/2008/03/using-irepository-pattern-with-linq-to.html但是,我想使用流畅的nHibernate代替Linq-to-SQL(当然还有nHibernate.Linq)这可行吗?我将如何配置它?我的映射定义会去哪里等等...?此应用程序最终将具有许多方面-从WebUI、WCF库和Windows应用程序/服务。此外,例如在“产品”表上,我会创建一个“ProductMana

c# - 将 EF6 Code First 字符串流畅地设置为 nvarchar(max)

我正在使用FluentAPI构建EF6代码优先模型。我的理解是,默认情况下,字符串将是nvarchar(max),(坦率地说)对于默认值来说是愚蠢的。所以我添加了以下约定代码以将最大默认长度设置为255个字符:modelBuilder.Properties().Configure(p=>p.HasMaxLength(255));然后我像这样创建了一个装饰器:[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=true)]publicclassTextAttribute:Attribute{}我想