【发布时间】:2018-10-27 07:42:23
【问题描述】:
我正在使用 Entity 框架,并且我有一个 Repository 类,它使用 dbContext 对象进行所有数据提取。
目前有一个方法叫
public MovieDetails FindSingle(int? id)
{
using (MovieContext dbContext = new MovieContext())
{
var newMovieDetails = dbContext.Movies.FirstOrDefault(x => x.MovieID == id);
if (newMovieDetails == null)
{
throw new Exception();
}
var MappedDetails = new MovieDetails
{
MovieID = newMovieDetails.MovieID,
MovieName = newMovieDetails.MovieName
};
return MappedDetails;
}
}
目前,当程序在数据库中找到匹配项时,它会转换为Data Object Transfer-object 当我尝试搜索数据库中不存在的电影时,我收到错误消息。有没有办法可以返回一个类型,说数据库中不存在这样的行?还是应该只返回一个空对象?
【问题讨论】:
-
你可以返回 null 而不是抛出异常
-
返回一个空对象对我来说似乎是个坏主意。不能直接回
null吗? -
return null 并检查返回的位置,如果为 null,则显示不存在此类电影的消息。
标签: c# entity-framework error-handling