Entity Framework のバックグラウンドから来て、ORM の結果を、完全なバックエンド モデルのデータのサブセットを含むクラスにキャストできます。
私は通常、次のようなものを返すJAX-RS RESTサービスを持っています
MyEntity result = em.createQuery(select e from MyEntity e ... blah blah blah).
私はこれを行うことができることを知っています:
Object result = em.createQuery(select e.Title, e.Version, e.Date from MyEntity e... blah blah blah).
しかし、結果を別のクラスにキャストするか、JSON を返すときに名前が付けられるように createquery のフィールドに名前を付けることができますか?
たとえば、.Net Land では、次のようなことができます....
(select new {Title = e.Title, Version = e.Version})
これを別の型にキャストします。typedquery とキャストを使用してみましたが、「型 X は戻り値の型 Y と互換性がありません」という型のエラーが発生します。
私の目標は、特定のシナリオで使用するために、情報の特定のサブセット (ビュー モデル/DTO) を返すことです。
たとえば、私のモデルは巨大で、毎回大量のデータを返したくありません。