Tôi đang sử dụng Nhibernate thông thạo. Mã này Tải một thể hiện kiểu T từ DB dựa trên ID của nó.Nhược điểm GetById trả về ObjectNotFoundException insetad của null
public T GetById(IdT id, bool shouldLock)
{
T entity;
if (shouldLock)
{
entity = (T) NHibernateSession.Load(persitentType, id, LockMode.Upgrade);
}
else
{
entity = (T) NHibernateSession.Load(persitentType, id);
}
return entity;
}
Nhưng tôi có vấn đề lớn. Khi tôi gọi tài sản trên đó, tôi nhận được ObjectNotFoundException
thay vì null
.
Làm cách nào để làm cho thực thể đó có thể bị vô hiệu và không trả lại Ngoại lệ?
-1. Kiểu thực thể là nullable, nó rất có thể là một kiểu tham chiếu. – Aliostad
Bất kể, giải pháp cho vấn đề là sử dụng Nhận, thay vì cố gắng tải xuống ... –
+1 đây là câu trả lời đúng chỉ thiếu lời giải thích mà tôi đã đưa ra với tôi. –