1

これは少しばかげているかもしれませんが、私が構築したすべてのアプリケーションは、データベースを生成するために常にEFコードファーストアプローチを利用してきました。この方法を使用するとき、私は常にコンテキストを介してデータベースにアクセスしました。

public class RandomController : Controller
{

    public CombosContext db = new CombosContext();

    //
    // GET: /Home/

    public ActionResult Index()
    {
        var rows = db.Combos.OrderBy(a => a.Id).ToList();

ただし、データベースがすでに作成されている場合、またはスキーマ/デザインサーフェスにエンティティを追加してデータベースを作成し、そこからデータベースを生成した場合はどうなりますか。なしでデータベースにアクセスするにはどうすればよいですか

public CombosContext db = new ComboxContext();
4

2 に答える 2

2

DBがすでに作成されている場合は、データベースファーストの承認を使用できます:http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-model-amp-database-first -walkthrough.aspx

基本的な設定では、ソリューションエクスプローラーでプロジェクトを右クリックし、[追加]>[新しいアイテム]をクリックします。ダイアログで、左側のウィンドウの[データ]と[ADO.netエンティティデータモデル]を選択し、ウィザードに従ってデータベースに基づいてモデルを作成します。このようにして、最初のコードとまったく同じようにコンテキストオブジェクトを作成できます(いくつかの小さな変更がありますが、ほとんど同じように機能します)。

于 2012-08-05T00:32:53.747 に答える
1

あなたはまだ最初にコードでこれを行うことができ、私見のより良いアプローチです。Entity Framework Power Toolsを使用して、既存のデータベースをコードファーストモデルにリバースエンジニアリングします。

http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/

それを使用することについての私のデモを見てください:

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV215

于 2012-08-05T20:29:28.380 に答える