我正在使用 VS 2010、MVC3 和 EF 5 在网站中开发联系人日志 - 实体首先使用代码创建。数据存储在一组 SQL Server 2008 R2 数据库中。我想显示联系人日志的摘要并创建了一个 View 。
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
联系人日志数据库中有两个实体(ContactLogEntries
和ContactLogCategories
),另一个数据库中的第一个实体Control.dbo.EndUsers
数据库。联系日志可能包含大量记录。我希望能够仅显示特定案例的记录。
我的问题分为两部分:
- 我可以直接使用 SQL View 在网页上显示摘要吗(也许通过将其读入类)
- 我可以创建与 SQL View 等效的代码优先对象吗?
最佳答案
您可以使用 TableAttribute(数据注释)或 Fluent 映射中的 ToTable 将实体直接映射到 View ...
例如使用数据注释:
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
{
...
}
}
关于c# - 使用 Entity Framework Code First 版本 5 中的 SQL View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18595589/