【c# – EF5中的UOW和存储库模式】教程文章相关的互联网学习教程文章

c# – 何时使用存储过程而不是将任何ORM与编程逻辑一起使用?

大家好我想知道什么时候我更喜欢编写存储过程来编写编程逻辑并使用ORM或其他东西来提取数据.解决方法:存储过程在服务器端执行. 这意味着处理大量数据不需要通过网络连接传递这些数据. 此外,使用存储过程,您可以构建一致的复杂业务逻辑. 比如,每次插入事务时都需要更新帐户余额,并且需要一次插入多个事务. 您可以使用输入传递表变量或临时表,并在过程中发出基于集合的SQL语句,而不是使用触发器(在许多系统中使用低效的逐记录方法实现...

c# – 如何在NHibernate中查询存储为枚举的标志【代码】

如何进行HQL或Criteria搜索(后者是首选)涉及用作标志的枚举.换句话说,我有一个持久的枚举属性,存储某种标志.我想查询所有设置了这些标志之一的记录.使用Eq当然不会起作用,因为只有那是唯一的标志才会成立. 使用Criteria API解决这个问题是最好的,但如果只使用HQL这样做也很好.解决方法:以下是使用条件API执行此操作的方法:[Flags] enum Bar{A = 0x01,B = 0x02,C = 0x04 }var criteria = this.Session.CreateCriteria<Foo>().Add( ...

c# – 将实时数据存储到1000个文件中

我有一个程序,可以接收1000个主题的实时数据.它平均每秒收到5000条消息.每条消息由两个字符串,一个主题和一个消息值组成.我想保存这些字符串以及指示消息到达时间的时间戳. 我在’Core 2’硬件上使用32位Windows XP并在C#中编程. 我想将这些数据保存到1000个文件中 – 每个主题一个.我知道很多人会想告诉我将数据保存到数据库中,但我不想走这条路. 我考虑过几种方法: 1)打开1000个文件,并在数据到达时写入每个文件.我对此有两个担...

c# – Ajax webmethod无法在第一次尝试时触发存储过程【代码】

我有一个webmethod在第一次尝试期间无法触发存储过程(我想在建立新连接时).我得到内部错误服务器作为错误Ajax消息.但是,如果我从URL地址返回返回,则执行存储过程并且页面可以正常工作,就像它们应该的那样.然后,如果我让页面保持一段时间不活动,然后尝试建立新连接,则会出现同样的问题. 我花了最近2天试图通过检查参数来识别问题,从web方法中删除大部分代码,最后我能够将问题跟踪到这个存储过程.CREATE PROCEDURE [dbo].[spUnionSer...

c# – 如何使用Entity Framework 6将数据列表传递给存储过程

我正在尝试使用Entity Framework Database First将数据列表从C#传递到SQL Server存储过程. SO和其他地方有很多关于这个问题的文章,但是将变量数据传递给存储过程以及从数据库返回变量数据的内容并不明显.他们也倾向于专注于调用存储过程的代码,但我无法做到这一点. 在SSMS中创建并测试了用户定义的表类型和存储过程.问题发生在C#中.更新模型(.edmx文件)时,会发出以下警告:Warning 4 Error 6005: The function ‘uspGetBusyPersons...

c# – 暂时存储特定用户的会话【代码】

我尝试使用IActivityLogger捕获用户的对话,有没有办法将用户和机器人的对话编译为临时持有者,如变量或会话?我需要暂时将它存储在只有当用户想要与真人而不是机器人交谈时才能使用的地方.将发送包含用户和机器人的先前对话的电子邮件.我不想将其保存到数据库,因为有些用户不会选择这样做. 参见使用的代码.记录器类:public class Logger:IActivityLogger {public async Task LogAsync(IActivity activity){var a = ($"From:{activi...

C#:如何使用并行性设置存储过程执行或改善执行时间?【代码】

如果我的问题太愚蠢或者是重复,我道歉,但我找不到任何解决方案.感谢您的任何建议或解答! 在我的ASP.NET MVC 5项目中,我从一个包含超过150万条记录的SQL Server表中获取数据. 为了防止SQL注入,我总是只使用参数化查询并生成存储过程. 例如,我发送给服务器的一个查询:using (SqlConnection connection = new SqlConnection(connectionString)) {SqlCommand sqlCommand = new SqlCommand("SELECT TOP 5 NAMEFROM TABLE_NAME WHERE C...

c# – 哪种数据结构适合临时大二进制数据存储?

计划使用数据结构将临时二进制数据存储在内存中进行分析. 数据的最大大小约为10MB. 数据将一次添加到408字节. 没有搜索,检索那些临时二进制数据的操作. 数据将被清除,存储将重新用于下一次分析. 问题: >哪种结构有利于此目的? byte [10MB],List< bytes>(10MB),List< MyStruct>(24000),或……?>如何快速清除List或数组中的数据(不是List.Clear(),只是将值设置为0)?>如果我说List.Clear(),当我在Clear()之后调用List.AddRange()时...

c# – 存储库和服务层交互问题【代码】

我有一个通用的存储库接口,它具有从服务层保存,读取和查询的常用方法,如下所示:public interface IRepository<T> {T GetById(int id);void Save(T entity);void Update(T entity);void Delete(T entity);IEnumerable<T> GetAll(); }如果我有一个服务,例如一个用户服务,它使用IRepository的具体实现,其中User是其类型(IRepository< User>),如果服务本身可能需要来自另一个IRepository的东西,则说IRepository< Admin>如果服务调用IR...

c# – 存储库模式我应该使用ObjectSet vs IDbSet作为基类吗?【代码】

我正在尝试基于首先使用实体??框架代码的MyFinance示例创建基本存储库类.我想将其更改为仅使用Entity Framework.该示例使用IDbSet,但我不知道如何将其更改为仅仅为vanilla Entity Framework.也许ObjectSet< T>?当我使用ObjectSet< T>时我失去了一些像GetById这样的方法,所以也许这不是100%正确的.任何帮助将不胜感激. 首先使用Entity Framework代码示例存储库库public abstract class RepositoryBase<T> where T : class { priva...

c# – 查询较新的记录时,使用存储过程缓慢查询【代码】

对不起,下面的文字墙… 我这里有一个奇怪的问题.我有一个很大的表,在过去几天存储来自Exchange 2007的邮件跟踪日志信息.记录数量为数百万(约10-12百万),每30分钟一次,我通过PowerShell计划任务从所有传输服务器批量插入任何新日志. 每晚一次我运行一个维护任务来清除任何超过一天的日志,以便表格不会变得太大,但是如果可以的话我想保持日志更长一点. 该表称为MessageTracking,并且具有一个主键,即IDENTITY int列,[MessagelogID],每...

c# – Properties.Settings.Default.Save()将user.config文件存储在带有哈希的目录中【代码】

我尝试保存用户设置.为了保存一些数据我使用了这段代码:Properties.Settings settings = Properties.Settings.Default; settings.Key1 = "value"; settings.Save();但它将user.config文件保存在以下路径下:C:\Users\Me\AppData\Local\[CompanyName]\[ExeName]_Url_[some_hash]\[Version]\user.config这个_Url_ [some_hash]非常难看,我怎么能删除它?解决方法:在这里查看更多信息http://msdn.microsoft.com/en-us/library/aa73086...

c# – 将DataTable作为参数发送到存储过程【代码】

我正在尝试使用c#,.net 2.0和SQLServer 2012 Express将DataTable发送到存储过程. 这大致就是我正在做的事情://define the DataTablevar accountIdTable = new DataTable("[dbo].[TypeAccountIdTable]");//define the columnvar dataColumn = new DataColumn {ColumnName = "[ID]", DataType = typeof (Guid)};//add column to dataTableaccountIdTable.Columns.Add(dataColumn);//feed it with the unique contact idsforeach (va...

c# – 在.NET 2.0库中存储一对日期的任何类/结构?【代码】

标准.NET 2.0库中是否有一个类或结构可以容纳两个DateTime对象 – 日期和日期?基本上是改进的TimeSpan.我可以写一个没有问题的自己的结构,但为什么如果有人之前已经做过呢? 注意事项: > TimeSpan单独不会削减它,因为它保持一个时间间隔,而不是两个日期.> Tuple是不可能的,因为它在.NET 2.0中不可用> KeyValuePair是我宁愿避免的,因为没有可区分的键或值,它只是两个日期.> DateTime []是另一种选择,是的,但是我问的是结构/类,因为...

c# – EF6无法导入存储过程【代码】

这是存储过程的简化版本ALTER PROCEDURE [dbo].[StoredProc1] (@PageIndex INT = 1,@RecordCount INT = 20,@Gender NVARCHAR(10) = NULL ) AS BEGINSET NOCOUNT ON ;WITH tmp1 AS ( SELECT u.UserId, MIN(cl.ResultField) AS BestResultFROM [Users] uINNER JOIN Table1 tbl1 ON tbl1.UserId = u.UserIdWHERE (@Gender IS NULL OR u.Gender = @Gender)GROUP BY u.UserIDORDER BY BestResultOFFSET @PageIndex * @RecordCount RO...