【c# – 何时将某些实体分成不同的存储库?】教程文章相关的互联网学习教程文章

C#-用于存储库的通用Linq查找方法【代码】

我有一个使用“存储库”模式的应用程序来抽象如何检索数据.我计划使用Web服务来检索数据,但是在开发过程中将仅对其进行模拟.但是,我对如何使查找方法起作用感到困惑.到目前为止,我有以下内容,但是我不确定query.Compile()是否正确(我发现没有示例可以做到).我收到一个编译器错误,说采用System.Linq.Expressions.Expression的Linq的Where方法没有重载.这是我到目前为止的位置:public async Task<IEnumerable<Customer>> FindAsync(...

c#-用于存储DateTime类型标记值的Enterprise Architect日期格式

Enterprise Architect以哪种格式存储DateTime类型标记值的值,在某些情况下,它以d / M / yyyy或M / d / yyyy格式存储.它取决于安装了EA的计算机还是存在存储库(数据库)的计算机.解决方法:根据此forum post,EA v11中可能存在一个错误,使它以与v10不同的格式存储日期.

首页> C#>如何为我的LINQ查询创建自定义存储表达式【代码】

首先让我解释一下我要完成的工作. 我正在使用使用实体框架与SQL Server数据库进行通信的C#ASP.NET MVC 5项目.大多数查询都使用linq进行查询.在前端站点的各个地方,我正在显示记录列表,并且需要提供通过搜索栏搜索这些记录的方法.现在的最初想法是允许用户输入搜索词组,并用空格将关键字隔开,这些关键字用于匹配表记录中字段的任何组合. 例如,说我对用户表的搜索是“ John Doe”.考虑这些是此表中的记录:uFirstName uLastName -...

c#-为什么Azure表存储不支持DateTimeOffset?【代码】

在任何人将其作为副本关闭之前,我知道Azure表存储本身不支持DateTimeOffset类型(MSDN states as much;尝试读写具有DateTimeOffset属性的实体不会引发异常,但不会维护正确的时间戳记要么). 我的问题是为什么不支持此数据类型,尤其是当创建Azure时就已经存在.更令人困惑的是,用于Azure Table Storage的.NET API似乎提供了对数据类型的支持:实体被转换成EntityProperty值的字典,而EntityProperty类既具有DateTimeOffsetValue属性,又...

c#-聚集根具有复合主键的存储库【代码】

信息库应该作为聚合根的边界,即IRepository< TAggreagte>.将提供CRUD功能,以事务方式将数据保存到DB.到现在为止还挺好. 但是,如果聚合具有复合主键怎么办?在我的问题中,它是一个Identity INT列以及一个SMALLINT序列号. (这是数据库设计,不是我的主意!) 我见过的存储库示例都有例如无效Add(TAggregate聚合)或bool Add(TAggregate聚合). 使用“最终一致性”的示例: 我想添加聚合A,并且需要调用存储库A,然后使用存储库B插入从属聚合...

C#-了解DDD(服务,聚合,实体,存储库和规范)

我从DDD开始,尝试将其应用到当前项目中,但是正如您可以假设的那样,我有成千上万的问题. 在这里,我提供一个示例域,以便我可以提出不同的问题,并作为练习,您可以在上面解释如何制作东西. 我们的假设系统必须控制公司以及每个公司的工作人员. 域. >公司(ID,名称,地址)>员工(身份证,姓名,姓氏,年龄) 一个人只能在公司工作,而公司可以有许多员工在公司工作. 运作方式 系统必须允许向公司添加新员工.为此,它将接收公司ID以及新员工的姓名...

c#-如何使用Payflow Pro API从存储的信用卡中扣款?【代码】

我正在使用PayflowPro API的PayflowNETAPI类(Payflow_dotNET.dll)提交交易以存储信用卡,因此我的公司不必(对于符合PCI标准的人为理由).我正在使用信用卡商店交易中的PNREF进行参考交易,但我不断收到“ RESULT = 2& PNREF =& RESPMSG =无效的投标”我尝试过授权,捕获和销售交易,它们都给出相同的结果.我究竟做错了什么? 我已经多次阅读《 Payflow网关开发人员指南和参考》(https://developer.paypal.com/docs/classic/payflow/inte...

c#-长久存储和恢复变体【代码】

我在相同的固定最小值和最大值范围内具有n值.// value range int minValue = 0; int maxValue = 100; int valueCount = 3; // number of values// Example 1 int a = 0; int b = 0; int c = 0;// Example 2 int a = 100; int b = 100; int c = 100;// Example 3 int a = 12; int b = 80; int c = 27;示例1和2显示了这3个值的最小和最大变化,其中示例3显示了一些随机值. 在给定的最小值和最大值下,这3个值的所有变体的可能数量为100...

c#-将文件上传到Azure Blob存储【代码】

我想异步地将文件上传到Azure blob存储.我尝试了官方SDK中建议的方式: 这是我得到容器的方式:public static class BlobHelper {public static CloudBlobContainer GetBlobContainer(){// Pull these from configvar blobStorageConnectionString = ConfigurationManager.AppSettings["BlobStorageConnectionString"];var blobStorageContainerName = ConfigurationManager.AppSettings["BlobStorageContainerName"];// Create bl...

通过C#读/写S7-1200位存储器【代码】

我正在尝试在S7-1200 CPU的布尔型内存中设置值,我使用了SNAP7库,但无法成功:Result result = new Result(); byte[] Buffer = new byte[26]; Client.DBRead(1, 0, 2, Buffer); result.bArret = S7.GetBitAt(Buffer, 0, 1); result.bMarche = S7.GetBitAt(Buffer, 0, 2); Client.DBWrite(1, 0, 10, buff);我的目标是能够在内存中写入值: 这是DataBlock 1:我需要在不使用OPC或其他一些第三方软件的情况下完成此任务.解决方法:通过...

c#-从枚举存储和读取其他信息的有效方法是什么【代码】

我试图存储和检索枚举中的其他信息.我最终有两种方法.第一种方法是使用自定义属性.https://stackoverflow.com/a/22054994/5078531https://stackoverflow.com/a/35040378/5078531public class DayAttribute : Attribute {public string Name { get; private set; }public DayAttribute(string name){this.Name = name;} }enum Days {[Day("Saturday")]Sat,[Day("Sunday")]Sun }public static TAttribute GetAttribute<TAttribute>(t...

c#-从文件中给出存储过程的输入参数【代码】

我有一个带有3个参数的存储过程,我想我没有正确执行存储过程的第一个参数.string path = @"D:\test2"; var ngd = Directory.EnumerateFiles(path, "*.txt").Select(file => File.ReadAllLines(file)).FirstOrDefault(); using (SqlConnection connection = new SqlConnection("Data Source=;Initial Catalog=;User ID=;Password=")) {using (SqlCommand cmd = new SqlCommand("usp_SaveData", connection)){try{await Task.Delay(1...

C#-Azure存储队列-处理中毒队列中的消息

我也一直在使用Azure存储队列来发布消息,然后将消息写入db表.但是我注意到,当在处理队列中的消息时发生错误时,该消息将被写入有毒队列. 这是我的应用程序设置的一些背景: Azure Web应用->将消息写入队列 Azure功能->队列触发器处理消息并将内容写入数据库 db模式存在问题,导致插入失败.每封邮件被重试5次,我相信这是重试队列消息的默认值,并且经过5次尝试后,该邮件被放置在了有毒队列中. 数据库模式随后被修复,但是现在我无法处理...

存储在磁盘上的C#对象(MemoryMappedFile?)

我有一组大对象(超过20GB),需要从应用程序快速访问它们. 到目前为止,我已经从磁盘读取这些文件,并在应用程序启动时读取到RAM.这是一项昂贵的任务,因为文件会反序列化为内存中的对象.但是,在加载这些文件的最初启动延迟之后,可以非常快速地访问对象.但是现在,文件的大小现在太大了,无法存储在RAM中. 现在,我必须从磁盘读取部分文件,将它们反序列化到内存中,然后丢弃使用的内存,读取下一个文件,依此类推.由于反序列化,这在计算上非常...

c#-在Azure Blob存储上创建文件的副本

如何使用代码在Azure Blob存储容器中创建现有文件的副本?我正在使用WindowsAzure.Storage NuGet包来处理与我的Azure Blob存储相关的所有操作. 为了100%清晰,我正在尝试创建已上传到Azure Blob存储上的容器的文件的完整且单独的副本.我还想在此过程中为文件重新命名.解决方法:纯粹在代码中,您将需要使用CloudBlockBlob上的StartCopyAsync()方法来启动复制过程.