【C#中的生产者/混合消费者使用4.0框架类和Blocking Collection】教程文章相关的互联网学习教程文章

c# – 实体框架查询未命中过滤索引WHERE BIT字段= 0【代码】

我注意到Entity Framework使用负布尔过滤器转换LINQ查询,这样生成的查询计划就不会使用过滤索引.例如,查询:context.Foo.Count(f => !f.IsActive)生成SQL语句:SELECT [GroupBy1].[A1] AS [C1]FROM ( SELECT COUNT(1) AS [A1]FROM [dbo].[Foos] AS [Extent1]WHERE [Extent1].[IsActive] <> cast(1 as bit)) AS [GroupBy1]请注意WHERE子句使用[IsActive]<>强制转换(1为位),而不是更直观[IsActive] = 0.这在使用过滤索引时会成为问题...

c# – 实体框架代码首先使用不同项目中的模型【代码】

晚间,我确定这可能很简单……但我做错了. 我正在尝试使用3个(现在的)项目创建一个解决方案: > MCV Web App>模特> DAL(实体框架) 我想将模型保存在UI和DAL的不同项目/程序集中,因为模型可以在项目之间重用,我们可能想要更换DAL等而不必弄乱模型等… 无论如何,解决问题. 我在我的模型项目中创建了一些类,如:public class Client {public int ClientID { get; set; }public string Name { get; set; }public string Address { get; ...

c# – 在实体框架中使用Include方法时如何获得特定的行数?【代码】

我有帖子和评论表.我可以通过这个获得帖子和评论:List<Posts> posts = db.Posts.Include("Comments").ToList();上面的代码返回每个帖子的所有评论.我想要两件事: >获得每篇文章的5条评论.>获取每篇文章的评论总数,同时每篇文章只收到5条评论.解决方法:假设您有这样的Post DTO / View模型/ POCOpublic class PostDto {public string Title{ set; get; }public int Id { set; get; } public List<PostDto> Comments { set; get; }...

c# – 实体框架和不同的环境(开发/生产)

我最近使用ASP.NET MVC开展了一个新项目,我对这项技术并不十分熟悉.我还处于早期阶段,我即将开始自学如何使用Entity Framework来处理我的数据访问代码.我只是在艰难的时间制作软件/工具/功能可以做什么的头或尾,但我认为我在EF的正确轨道上. 我正在寻找能够看到我的本地数据库与我的生产数据库中的差异(架构,而不是其中的实际数据)并能够将其发布到本地网络中的SQL Server的东西.在我看来,我认为它就像数据库的DVCS. 传统上(就像我...

c# – 如何使用Moq框架对天蓝色服务结构进行单元测试?【代码】

我计划使用Moq对我的Azure服务结构应用程序进行单元测试.我在这里看到了一些例子https://github.com/Azure-Samples/service-fabric-dotnet-web-reference-app/blob/master/ReferenceApp/Inventory.UnitTests/InventoryServiceTests.cs.我看到的测试似乎实际上写的是可靠的字典而不是嘲笑.有没有办法模拟可靠字典中的添加/删除?我如何对下面的内容进行单元测试public async Task<bool> AddItem(MyItem item) {var items = await St...

.NET(C#)主流的ORM框架

.NET(C#)主流ORM总揽 SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framework (EF) (国外) NHibernate (国外) ServiceStack/ServiceStack.OrmLite (国外) linq2db (国外) Massive (国外) PetaPoco (国外) SqlSugar SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能、轻量级 ORM框架,众多.NET框架中最容易使用的数据库访问技术。 特点: 开源...

c# – Herocard在skype Microsoft bot框架中没有显示超过3个按钮【代码】

我在Hero卡中添加了6个按钮并尝试显示它们.它在团队和模拟器中工作正常但在Skype上不起作用.它只显示3个按钮.private List<CardAction> GetCardButton(List<string> opts){List<CardAction> cardButtons = new List<CardAction>();int i = 1;foreach(string opt in opts){CardAction plButton = new CardAction(){Title = opt,Type = "postBack",Text = i.ToString(),Value = i.ToString()};cardButtons.Add(plButton);i++;}return...

c# – 实体框架核心 – 不需要的删除级联【代码】

我有实体框架核心,它执行我不想要的额外删除. 模型定义:我有两个实体Template和TemplateVersion. TemplateVersion只是模板的下一个版本,因此TemplateVersion有一个模板(N:1关系)public class Template {public int Id { get; set; } }public class TemplateVersion {public int Id { get; set; }public Template Template { get;set; } }到目前为止,一切都清楚是一种有益的工作. 但是:我想获得模板级别的信息,这是TemplateVers...

c# – 实体框架映射奇数 – 成员名称不能与其封闭类型相同【代码】

我已经从数据库创建了一个实体模型,并且收到错误“成员名称不能与其封闭类型相同”.这意味着有一个Property与Class同名. 所以错误就在这里/// <summary>/// There are no comments for Employee in the schema./// </summary>[global::System.ComponentModel.BrowsableAttribute(false)][global::System.Runtime.Serialization.DataMemberAttribute()]public global::System.Data.Objects.DataClasses.EntityReference<Employee> E...

c# – 要选择的实体框架查询【代码】

表人:SSN,名字表学生:SSN,学校 我想为那些不是学生的人提供所有SSN.我如何用实体框架写这个?解决方法: var ssnList = Context.Peoples.Where( p => !Context.Students.Any(s => s.SSN == p.SSN)).Select( p => p.SSN).ToList();

c# – 实体框架:按顺序排序然后分组【代码】

我正在使用实体框架代码优先,并具有以下POCO代表我的数据库中的表.public class LogEntry {public int Id {get; set;}public DateTimeOffset TimeStamp {get;set;}public string Message {get; set;}public string CorrelationId {get; set;} }CorrelationId不是唯一的.表中通常会有多个具有相同CorrelationId的记录,该字段用于跟踪哪些日志条目对应于哪个请求. 然后我有另一个对象,让我通过CorrelationId对这些日志条目进行分组.此...

c# – 实体框架中的OrderBy虚拟属性【代码】

是否可以通过实体的虚拟属性进行排序? 我有一个类似于的类:public int Id{get;set;} public string Name {get;set;}public virtual string TestName {get { return string.Format("{0}{1}", Name , Id); } }当我通过TestName属性订购时,我收到错误:“The specified type member ‘TestName’ is not supported in LINQ toEntities. Only initializers, entity members, and entity navigationproperties are supported.”我最初...

c# – 实体框架核心:如果我们永远不会恢复迁移,删除Migration.Designer.cs是否安全?

我们有一个包含~200个表的数据库模式.为每次迁移创建的模型快照(Migration.Designer.cs)是~20K行.因此,进行大量迁移确实会降低我们对CI的构建速度(构建解决方案的约30次迁移需要6分钟进行迁移,或者4分钟不进行迁移). 那么,问题是:删除旧迁移的模型快照是否安全(我们知道我们永远不会恢复)?模型快照是否用于除Revert-Migration之外的任何其他内容?解决方法:Are model snapshots used for anything else except Revert-Migration?...

c# – 实体框架 – 导航属性生成额外的JOIN【代码】

我注意到我的实体框架查询生成了一些非常难看的SQL.当我检查SQL时,即使非常简单的查询也会产生大量额外的JOIN. 我创建了一个简单的模型: 命令 OrderID INT PKOrderDate DATETIME OrderHeaders OrderID INT PK / FKStatusID INT FK StatusTypes StatusID INT PK描述NVARCHAR(50) 从模型中,订单可以包含0或1个订单标题.标头将具有1种状态类型. 我创建了以下查询:var orders = from o in db.Orderswhere o.OrderID == 1select new{O...

C# 使用Emit实现动态AOP框架【代码】

最近需要有一个完全自主的基于C#语言的Aop框架,查了一下资料实现方式主要分为:静态织入和动态代理,静态织入以Postshop为代表,而动态代理又分为: 1、普通反射 2、Emit反射 3、微软提供的.Net Remoting和RealProxy (微软官方例子https://msdn.microsoft.com/zh-cn/library/dn574804.aspx) 总体来说静态织入速度最快,普通反射最慢,而.Net Remoting和RealProx实现起来又相对较复杂。而Emit速度居中,同时其一次生成后,...