これが正しい方法かどうかはわかりませんが、そうである場合は、別の方法でアドバイスしてください。
これは、EF 5.x を使用する ASP.Net MVC 4 サイトです。
独自のクラス ライブラリに Entity Framework があるとします。コード生成アイテムがすべてのモデルを生成しました (EF モードの xxx.tt セクション)。
このプロジェクトは、サイトの開発で追加/参照されます。
これで、EF を介してデータにアクセスできます。
ここで、サイト プロジェクトで、DB にない追加のプロパティを使用して、EF モデルの 1 つの部分クラス ("Users" など) を作成したいと考えています。
過去に Web フォーム プロジェクトで EF がプロジェクトの一部であり、参照ではなかった場合、部分クラスを作成するだけですべてがうまくいきました。私の「ユーザー」には、データベースに関連していないが「ユーザー」に必要な他のものがたくさんあります。
EFが別のプロジェクトにあるこのMVCプロジェクトでこれを機能させることができないようです。
たとえば、これを試しました:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MyTestEntity.Entity;
namespace MyTestMVCSite.Models
{
public partial class Email
{
public string OtherEmail {
get { return "me@myEmail.com"; }
}
}
}
次のように、EFモデルクラスの継承も試みました。
public partial class Email : MyTestEntity.Entity.Email
{
public string OtherEmail {
get { return "me@myEmail.com"; }
}
}
「OtherEmail」にアクセスできるようにするために何もしていないようです
私が実際にできるようにしたいのは、一部のモデルの部分クラスを作成し、この部分クラスにインターフェイスを実装させて、オーバーロードするのではなく、このインターフェイスのインスタンスを別のオブジェクトに挿入できるようにすることです。
私はクレイジーナンセンスを話しているのですか?