Pet*_*ith 7 c# sql-server-2008 asp.net-mvc-3 entity-framework-5
我正在使用VS 2010,MVC3和EF 5在网站上开发联系人日志 - 首先使用代码创建实体.数据存储在SQL Server 2008 R2数据库集中.我想显示联系人日志的摘要并创建了一个视图.
CREATE VIEW dbo.ContactLogSummaries
AS
SELECT
CLE.ContactLogEntryID,
CLE.CaseID,
'Test' AS ContactName,
EU.UserName As OfficeUser,
CLE.DateAndTimeOfContact,
CLC.Category,
CLE.ContactDetails
FROM
ContactLogEntries AS CLE
JOIN
ContactLogCategories AS CLC
ON CLE.ContactLogCategoryID = CLC.ContactLogCategoryID
JOIN
Control.dbo.EndUsers AS EU
ON CLE.UserID = EU.EnduserID
Run Code Online (Sandbox Code Playgroud)
Contact Log数据库(ContactLogEntries和ContactLogCategories)中有两个实体Control.dbo.EndUsers,另一个数据库中有数据库第一个实体.联系日志可能包含大量记录.我希望能够只显示特定案例的记录.
我的问题分为两部分:
Bra*_*don 23
您可以使用TableAttribute(数据通知)直接将实体映射到视图,或者在Fluent Mappings中将ToTable直接映射到视图...
例如,使用数据注释:
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
public namespace whatever.mynamespace
[Table("dbo.ContactLogSummaries")] //<-- this is your view
public class ContactLogSummary
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
找到问题1的简单解决方案:
public class ContactLogSummary
{
public int ContactLogEntryID { get; set; }
public int MaternalCaseID { get; set; }
public String ContactName { get; set; }
public String OfficeUser { get; set; }
public DateTime DateAndTimeOfContact { get; set; }
public String Category { get; set; }
public String ContactDetails { get; set; }
public static List<ContactLogSummary> LoadContactListSummary
(int caseID, String connectionString);
{
MyDataContext dbContext = new MyDataContext(connectionString);
return dbContext.Database.SqlQuery<ContactLogSummary>
("SELECT * FROM dbo.ContactLogSummaries WHERE MaternalCaseID = @CaseID ORDER BY ContactLogEntryID DESC",
new SqlParameter("CaseID", caseID)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
它完成了所有必要的工作,虽然我对问题2的答案感兴趣,但我有一个有效的解决方案.
| 归档时间: |
|
| 查看次数: |
27843 次 |
| 最近记录: |