在IQueryable上调用Max()并且没有记录时,我得到以下异常.
转换为值类型"Int32"失败,因为实现值为null.结果类型的泛型参数或查询必须使用可空类型.
var version = ctx.Entries
.Where(e => e.Competition.CompetitionId == storeCompetition.CompetitionId)
.Max(e => e.Version);
Run Code Online (Sandbox Code Playgroud)
现在我明白为什么会发生这种情况我的问题是如果表格可以为空,那么最好的方法是如何做到这一点.下面的代码可以解决这个问题,但是它的丑陋是否没有MaxOrDefault()概念?
int? version = ctx.Entries
.Where(e => e.Competition.CompetitionId == storeCompetition.CompetitionId)
.Select(e => (int?)e.Version)
.Max();
Run Code Online (Sandbox Code Playgroud) Assert.Equals()从不调用
Equals()
operator ==
operator !=
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我已经实现了IEquatable但是在使用nunit时仍然没有调用这些方法.
if (objectA != objectB) Assert.Fail(); //doesnt fail
if (!objectA.Equals(objectB)) Assert.Fail(); //doesnt fail
Assert.AreEqual(objectA, objectB); //fail
Run Code Online (Sandbox Code Playgroud)
UPDATE
我应该更清楚.
public class Entity
{
public int ID { get; set; }
}
var objectA = new Entity() { ID = 1 };
var objectB = new Entity() { ID = 1 };
Run Code Online (Sandbox Code Playgroud)
两者使用相同的ID我已经实现了所有的相关方法两个独立的情况下,使这项工作的==,!=和equals但NUnit的AreSame和AreEqual仍无法调用这些方法.
我们正在开发一款iOS应用.当我们在PC上测试应用程序时,一切运行良好,但是当我们在iPad/iPhone4上运行时,我们经常收到"Ran out of Trampolines type 2"错误消息和应用程序崩溃.过去几天我们一直在努力找出原因并解决问题并尝试了我们在网上找到的所有建议,但我们仍然没有取得任何进展.我们找到的唯一解决方案是从帖子/网页上讨论使用如下编译器设置调整蹦床设置:-aot"nrgctx-trampolines = 4048"-aot"nimt-trampolines = 4048"in monouchouch.但我们正在使用Unity3D开发我们的应用程序,因此我们没有向我们公开此编译器选项.但是我相信Monotouch和Unity3D都基于Mono框架,所以我猜相同的编译器设置也可以应用到我们的unity3D项目中?
有谁知道这是否正确?如果是的话,是否有人能够给我一些关于如何在我们的Unity3D项目中启用此选项的说明?
非常感谢提前!
NHibernate中是否有一种方法可以从一个未经代理的模型开始
var m = new Model() { ID = 1 };
m.Name = "test";
//Model also has .LastName and .Age
Run Code Online (Sandbox Code Playgroud)
现在保存此模型只更新Name而不先从会话中选择模型?
我知道每个实例只能有1个Web角色,但这也适用于Background角色吗?更详细的是,1个实例可以运行后台角色和Web角色吗?
我开始设计一个新的应用程序,我想知道的是人们对Linq2SQL或Linq2Entities的看法以及他们认为更快的开发技术.
我也在研究ADO.net数据服务.
.net ×1
ado ×1
azure ×1
c# ×1
compression ×1
css ×1
http ×1
linq ×1
linq-to-sql ×1
mono ×1
monodevelop ×1
nhibernate ×1
nunit ×1
system.type ×1
trampolines ×1