Asp.net web api 跨两个模型web api处理NullObject

Asp.net web api 跨两个模型web api处理NullObject,asp.net-web-api,nullable,Asp.net Web Api,Nullable,我的asp.net web api中有两个模型。一个是数据库模型,另一个是最终用户传入的模型,我们映射如下属性: public static IndividualProc ToIndividualnternal(this AssignmentExternal item) { return new IndividualProc() { IndividualID = (int)item.person.id, E

我的asp.net web api中有两个模型。一个是数据库模型,另一个是最终用户传入的模型,我们映射如下属性:

public static IndividualProc ToIndividualnternal(this AssignmentExternal item) {
            return new IndividualProc() {
                IndividualID = (int)item.person.id, 
                EventID = (int)item.event.id,
                EventScehduleID = item.schedule.id,
                EventGroupID = item.group.id
            };
}

问题是,当用户传递null时,我得到一个异常;“可空对象必须有一个值”。如何强制转换可为null的属性以避免导致此异常?

什么是可为null的?为了得到这个答案,我假设这是一个可为null的int:

item.event.id
这是一个正则整数:

EventID
在这种情况下,显然不能直接将前者转换为后者,因为
int
无法处理
null
值的情况。
Nullable
结构具有帮助检查该值的属性:

EventID = item.event.id.HasValue ? item.event.id.Value : default(int)

这将检查可为null的int是否有值,如果有,则使用该值。如果没有,请使用
int
(即
0
)的默认值。

好的,这真的很有帮助,谢谢你的解释,因为我以前确实很困惑,但我现在明白了。