NSubstitute – 测试特定的linq表达式

我正在使用我正在开发的MVC 3应用程序中的存储库模式。 我的存储库界面如下所示: public interface IRepository where TEntity : IdEntity { void Add(TEntity entity); void Update(TEntity entity); void Remove(TEntity entity); TEntity GetById(int id); IList GetAll(); TEntity FindFirst(Expression<Func> criteria); IList Find(Expression<Func> criteria); } 在很多实例中,当我在服务类中编码方法时,我使用的是FindFirst和Find方法。 如您所见,它们都将linq表达式作为输入。 我想知道的是,NSubstitute是否允许您在代码中指定要测试的特定表达式。 所以,这是一个服务方法的例子,它说明了我提到的一个Repository方法的使用: public IList GetUnprocessedInvoices() { try { var invoices = _invoiceRepository.Find(i => !i.IsProcessed && i.IsConfirmed); var dtoInvoices = Mapper.Map<IList, IList>(invoices); […]

LINQ to SQL – 如何有效地对多个条件进行AND或OR搜索

我有一个ASP.NET MVC站点(使用Linq To Sql进行ORM)以及客户想要针对定制数据库的搜索工具,他们可以选择进行“AND”搜索(所有条件匹配)或’OR’搜索(任何标准匹配)。 查询非常复杂且冗长,我想知道是否有一种简单的方法可以使它同时完成,而无需创建和维护两个不同版本的查询。 例如,当前的“AND”搜索看起来像这样(但这是一个非常简化的版本): private IQueryable GetSampleSearchQuery(SamplesCriteria criteria) { var results = from r in Table where (r.Id == criteria.SampleId) && (r.Status.SampleStatusId == criteria.SampleStatusId) && (r.Job.JobNumber.StartsWith(criteria.JobNumber)) && (r.Description.Contains(criteria.Description)) select r; } 我可以复制它并用||替换&& 运营商要获得“OR”版本,但感觉必须有更好的方法来实现这一目标。 有没有人有任何建议如何以一种易于维护的高效灵活的方式实现这一目标? 谢谢。

铸造是否会创建新对象?

我在这里很不确定: Image i=some image… Bitmap B=(Bitmap)i; B现在指向与i相同的对象。 我很困惑……我会说Bitmap B会指向一个新的Image实例,它被转换为位图,但显然并非如此。 然后我就是不知道它是如何工作的。

如何将WriteableBitmap转换为BitmapImage?

BitmapImage bitmapImage = new BitmapImage(new Uri(“arka_projects_as_logo.png”, UriKind.Relative)); Image uiElement = new Image() { Source = bitmapImage }; ScaleTransform t = new ScaleTransform() { ScaleX = 0.2, ScaleY = 0.2 }; WriteableBitmap writeableBitmap = new WriteableBitmap(uiElement,t); 我想将此转换的结果(writeableBitmap)插入到System.Windows.Controls.Image中。 我这样做的时候: Image arkaImage = new Image() { Source = writeableBitmap }; arkaImage根本没有显示。 有什么办法可以让它发挥作用?

将SqlDataSource转换为DataTable和DataView

我有以下SqlDataSource ,我想将其转换为DataView并从中读取一列: SELECT dbo.Divisions.DivisionShortcut, COUNT(DISTINCT dbo.UserQuiz.Username) AS [Number of Participants] FROM dbo.Divisions INNER JOIN dbo.employee ON dbo.Divisions.SapCode = dbo.employee.DivisionCode INNER JOIN dbo.UserQuiz ON dbo.employee.Username = dbo.UserQuiz.Username INNER JOIN dbo.Quiz ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID WHERE (dbo.Quiz.QuizID = @QuizID) GROUP BY dbo.Divisions.DivisionShortcut 此SqlDataSource允许用户输入测验的编号,它将检索该测验中的参与者总数。 我想将此SqlDataSource转换为DataTable并从中读取一列。 那怎么办呢?

如果扩展方法与密封类中的方法具有相同的签名,那么调用优先级是什么?

我正在阅读C#3.0中的扩展方法。 我正在阅读的文本暗示一个扩展方法与扩展类中的方法具有相同的签名将是执行顺序的第二个 – 也就是说,密封类中的方法被调用。 如果是这种情况,你怎么能延长密封class?

有没有办法用C#编辑pdf?

我需要在C#.NET中在运行时编辑pdf。 这可能吗? 就像在pdf中复制东西,编辑文本字段,……?

HtmlAgilityPack文档

我是C#的新手(今天开始),我试图了解其他人的代码,它使用HtmlAgilliyPack中的HtmlDocument类来解析HTML文档。 我找不到这个包的任何文档。 HtmlAgilityPack的项目网页说没有可用的文档。 如果有人可以指出我的文档或解释以下方法(中间方法)那么这将是非常有用的: – HtmlDocument.DocumentNode – HtmlDocument.DocumentNode.ssn – HtmlDocument.DocumentNode.GetElementbyId – HtmlDocument.DocumentNode.GetElementbyId(..).sns – HtmlDocument.DocumentNode.ssn(…).Attributes[“value”].Value.ed().ns() 提前致谢!

从DataGrid中选择DataGridCell

我有一个DataGrid WPF控件,我想获得一个特定的DataGridCell 。 我知道行和列索引。 我怎样才能做到这一点? 我需要DataGridCell因为我必须能够访问其内容。 因此,如果我(例如)有一个DataGridTextColum列,我的Content将是一个TextBlock对象。

Identity 2.0由管理员重置密码

如何将密码重置为其他用户的管理员? 我尝试过使用下面的代码 var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); var result = await UserManager.ResetPasswordAsync(user.Id, code, vm.NewPassword); 当单步执行GeneratePasswordResetTokenAsync时,将调用控制器的dispose方法。 有人可以赐教吗?