2

MVC アプリケーションに追加されたリポジトリ プロジェクトがあります。

MVC Web アプリの C# コード内で、リポジトリからオブジェクトにアクセスできるように、System.Data.Entity への参照を追加する必要がありました。

したがって、参照が追加されていない場合、次は失敗します。

DataRepository<Store> repo = new DataRepository<Store>();
List<Store> allSorted = repo.All(x => x.name);

ここで、そのリストを部分ビューに渡したいと思います。部分ビューは FVM 内にあり、部分ビューに渡すのは FVM です。

したがって、index.aspx コードです。

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<StoresFVM>" %>

<% Html.RenderPartial("StoreList", Model.StoreListFVM); %>

そしてASCXコード;

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<StoreListFVM>" %>

<%        
    SelectList storeList = new SelectList(Model.Stores.Select(x => new { Value = x.number, Text = x.name }),"Value","Text");
%>

<%= Html.DropDownList("SelectedStore", storeList) %>

ただし、ascx に System.Data.Entity への参照を含める必要があることを知らせるエラーが表示されます。理由がわかりません。

名前空間を web.config ファイルに追加しようとし、ascx ページの上部に名前空間をインポートしようとしました。

考え?

編集

\nasfile02\Visual Studio 2010\Projects\TOM\TOM\Views\Stores\PartialViews\StoreList.ascx(4): エラー CS0012: 型 'System.Data.Objects.DataClasses.EntityObject' が定義されていないアセンブリで定義されています参照。アセンブリ 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' への参照を追加する必要があります。

編集

namespace TOM.FormViewModels
{
    public class StoresFVM
    {
        public StoreListFVM StoreListFVM { get; set; }
    }
}

namespace TOM.FormViewModels
{
    public class StoreListFVM
    {
        public List<Store> Stores { get; set; }
    }
}
4

1 に答える 1