2011-02-08 36 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); 
相关问题