草庐IT

types_and_classes

全部标签

c# - Lambda 表达式 order by and take issue

我有一个IQueryable列表,带有COLOURS类类型IQueryablerenkler=dbcontext.colours.Select(s=>newCOLOURS{....我想随机获取2行,我正在使用此代码块来执行此操作:renkler.OrderBy(o=>Guid.NewGuid()).Take(2);我想要2行,但有时会变成3行或5行:Take(2)不工作-有什么问题?我检查的时候发现了一些东西varresult=NewProducts().OrderBy(o=>Guid.NewGuid()).Take(2);intresult_count=result.Count();

c# - "Predefined type ' System.* ' is not defined or imported"错误,visual studio 代码,omnisharp

我在几个.net核心应用程序中遇到上述错误的问题。我正在使用vscode版本1.18.0,但错误已经开始出现在以前的版本中。错误出现在每个.cs文件中的每种数据类型(如字符串、整数、void等)以及类导入。所有项目仍然可以正常编译和运行。同样在另一个工作站上,我没有在同一个项目中遇到问题,所以它似乎是本地omnisharp/vscode或windows?问题。有没有人遇到过类似的问题并设法修复它或对我可以尝试的方法有任何建议?我已经重新安装了vscode和omnisharp,但我仍然遇到问题。示例错误:未定义或导入预定义类型“System.Object”[GG]

c# - 如何保证 Array 中 "reference type"项目的更新对其他线程可见?

privateInstrumentInfo[]instrumentInfos=newInstrumentInfo[Constants.MAX_INSTRUMENTS_NUMBER_IN_SYSTEM];publicvoidSetInstrumentInfo(Instrumentinstrument,InstrumentInfoinfo){if(instrument==null||info==null){return;}instrumentInfos[instrument.Id]=info;//needtomakeitvisibletootherthreads!}publicInstru

c# - 在 Fluent NHibernate 自动映射中自引用多对多关系自动映射到 1 :n and not n:n

标题几乎解释了一切,我有一个成员对象,它引用了也是成员类型的“friend”。publicclassMember:Entity{publicMember(){Friends=newList();}publicvirtualIListFriends{get;set;}}模式生成工具使其成为1:n关系,而它应该是n:n关系,即在成员表中添加一个名为member_id的列,并且不创建连接表。有什么方法可以在FluentNHibernate中创建一个引用多对多关系的Self吗?我尝试使用我之前得到的覆盖作为答案:publicclassMemberOverride:IAutoMappingOve

c# - IEnumerable<IMyInterface> 隐式来自 Class[] 但不是来自 Struct[]。为什么?

给定:publicinterfaceIMyInterface{}publicclassMyClass:IMyInterface{publicMyClass(){}}publicstructMyStruct:IMyInterface{privateint_myField;publicMyStruct(intmyField){_myField=myField;}}为什么我可以写:IEnumerablemyClassImps=new[]{newMyClass(),newMyClass(),newMyClass()};但不是:IEnumerablemyStructImps=new[]{newM

c# - 在 winforms 应用程序中缓存 GDI+ 对象 : is it worth it and how to do it right?

对于我的一些winforms应用程序,我需要创建一大堆GDI+对象(画笔、笔、字体等)并一遍又一遍地使用它们。我创建了一个ghetto缓存单例来完成我需要的,但是代码味道太重了......publicsealedclassGraphicsPalette{publicstaticreadonlyGraphicsPaletteInstance=newGraphicsPalette();staticGraphicsPalette(){}privateDictionarysolidBrushes;//multithreadingprivateobjectbrushLock;privateGra

c# - Entity Framework Linq 查询 : runs instantly in SSMS and 8-10s in EF LINQ 出现问题

我在SQL中得到了以下查询(混淆了变量名),它试图获取值(Ch、Wa、Bu、Hi),从而导致最大数量(cnt)的Pi条目。selecttop1Pi.Ch,Pi.Wa,Pi.Bu,Pi.Hi,COUNT(1)ascntfromProduct,Si,PiwhereProduct.Id=Si.ProductIdandSi.Id=Pi.SiIdandProduct.Code=@CodeParametergroupbyPi.Ch,Pi.Wa,Pi.Bu,Pi.Hiorderbycntdesc它在我们的生产数据库上的SQL管理工作室中立即运行。我已经在C#LINQ和EntityFramework中

c# - Entity Framework : am I supposed to modify migration classes?

我希望我了解基本的工作流程。首先我创建一个模型,然后我生成一个初始迁移,然后我从中生成一个SQL,好的。我更新了模型,我从中创建了一个新的迁移,并从中创建了一个新的SQL,好的。我假设这是一个单向的工作流程是否正确?如果我以错误的方式更改了迁移类,它将永远不会反射(reflect)在我的模型中,并且如果数据库架构不是它应该的样子,EF永远不会注意到,我只会得到奇怪的异常,对吧?如何确保在修改迁移类时不会导致不一致?我假设我只能做两件事:首先,添加EF不关心的新数据库对象,其次,以最终具有相同架构的方式更改EF生成的迁移代码(例如,如果EF生成一个dropcolumn和addcolumn

c# - MVC 5 : Custom AuthorizeAttribute and Caching

我试图通过从中派生并覆盖其某些方法来找到实现自定义System.Web.Mvc.AuthorizeAttribute的解决方案。我正在尝试的每一种方法,我都面临着MVC5的默认授权机制中的某些问题,这使我无法正确扩展它。我已经在SO和许多专用资源上对该领域进行了大量研究,但是我无法像我目前的场景那样为这种场景找到可靠的解决方案。第一个限制:我的授权逻辑需要额外的数据,例如Controller和方法名称以及应用于它们的属性而不是HttpContextBase能够提供的有限部分数据。例子:publicoverridevoidOnAuthorization(AuthorizationCont

c# - Code First 迁移种子错误 : The binary operator Equal is not defined for the types 'System.Nullable` 1[System. Int32 ]' and ' System.Int32'

在我的数据库中播种时,我的更新标识符出现以下问题:context.ClientPromos.AddOrUpdate(cp=>new{cp.ClientID,cp.Recommendation_ID,cp.PromoCode_ID},newClientPromo{ClientID=0,Recommendation_ID=Rec30Off.RecommendationID,PromoCode_ID=pc30PerOffProd.PromoCodeID},newClientPromo{ClientID=0,Recommendation_ID=RecKnow.RecommendationID,