2011-02-08 57 views
1

我需要訪問表中的數據和特定頁面上的數據,所以我創建了一個可以訪問它們的類。看起來是這樣的`我如何讓我的頁面從類而不是表繼承?

namespace LoanManager.Models 
{ 
    public class Loan_vwFieldValues 
    { 
     public Loan loan { get; set; } 
     public VW_FIELD_VALUE vwFieldValues { get; set; } 

    } 
} 

在我的頁面的頂部,我有這個

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewPage<IEnumerable<LoanManager.Models.Loan_vwFieldValues>>" %> 

的話,我有這個我以後的作品其他一些其他代碼控制器。

return View(_db.LOAN_VWFIELDVALESs.Where(predicate)); 

和我的定義,看起來像這樣。

public System.Data.Linq.Table<Loan_vwFieldValues> LOAN_VWFIELDVALESs 
     { 
      get 
      { 
       return this.GetTable<Loan_vwFieldValues>(); 
      } 
     } 

這個工作得很好我的網頁中的其他一切(他們當然有不同的名稱),但他們不是一類,他們只是引用一個表或我做了一個觀點,但這個頁面需要訪問一個表和一個視圖,但是當它到達這個發佈代碼的最後一部分(返回語句)並且表示Loan_vwFieldValues沒有映射爲一個表時,它會發出抱怨,這是真的,因爲它不是一個表, 我也有這個填寫Loan_vwFieldValues

public ActionResult LoanProperties(int id) 
    { 
     Loan_vwFieldValues l = new Loan_vwFieldValues(); 

     l.loan = (from a in _db.Loans where a.LOAN_ID == id select a).First(); 
     l.vwFieldValues = (from v in _db.VW_FIELD_VALUEs where v.Loan_ID == id select v).First(); 

     return View(l); 

    } 

但我怎麼能得到這個與我的班級一起工作? 預先感謝您。

+0

只是爲了澄清......爲什麼我們要檢索不是表格的東西?創建一個與你想要的相匹配的新類是否更有意義,然後將它用於頁面而不是使用表格 - 那不是一個表格? – guildsbounty 2011-02-08 20:22:07

回答

0

您需要創建一個Loan_vwFieldValues集合並返回。我們沒有足夠的信息來告訴您如何從數據訪問層構建這些對象。

換句話說...

return View(_db.LOAN_VWFIELDVALESs.Where(predicate).Select(
    x => new Loan_vwFieldValues() 
    { 
    loan = yourCodeHere, 
    vwFieldValues = moreOfYourCodeHere 
    })); 
0

感謝每個人,幫助,我發現通過執行以下操作的解決方案...我希望它可以幫助其他人。

IQueryable<Loan> loanList = _db.Loans.Where(predicate); 

List<Loan_vwFieldValues> loanVwList = new List<Loan_vwFieldValues>(); 

foreach (Loan loan in loanList) 
{ 
    Loan_vwFieldValues loanVw = new Loan_vwFieldValues(); 
    loanVw.loan = loan; 
    loanVw.vwFieldValues = (from n in _db.VW_FIELD_VALUEs where n.Loan_ID == loan.LOAN_ID select n).First(); 
    loanVwList.Add(loanVw); 
} 

return View(loanVwList); 
相關問題