我正在處理簡單的ASP .NET MVC應用程序。我有一個簡單的本地數據庫。這個數據庫包含一些表格。我爲這個表格中的一個製作了模型,視圖和控制器。我也做了DBContext類和連接字符串。似乎一切似乎工作正常,除了使用控制器的上下文返回空集。我確定該表至少包含一條記錄。我不知道什麼是錯的。實體框架返回空集
有我的表架構:
CREATE TABLE [dbo].[SportsVenues] (
[Id] INT NOT NULL,
[Name] NVARCHAR (100) NOT NULL,
[Description] TEXT NOT NULL,
[Country] NVARCHAR (100) NULL,
[City] NVARCHAR (100) NULL,
[Street] NVARCHAR (100) NULL,
[Area] DECIMAL (18) NULL,
[PictureUrl] NVARCHAR (100) NULL,
[OppeningYear] DATETIME NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
有型號:
[Table("SportsVenues")]
public class SportsVenue
{
[Column("Id")]
public int Id { get; set; }
[Column("Name")]
public string Name { get; set; }
[Column("Description")]
public string Description { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string Street { get; set; }
public double Area { get; set; }
public DateTime OppeningYear { get; set; }
}
有數據庫上下文類:
public class StecSportsDBContext : DbContext
{
public DbSet<StecSports.Models.Trick> Tricks { get; set; }
public DbSet<StecSports.Models.Event> Events { get; set; }
public DbSet<StecSports.Models.SportsVenue> Venues { get; set; }
}
而且還有我的連接字符串:
<add name="StecSportsDBContext"
connectionString="Data Source=|DataDirectory|\StecSports.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
我也檢查發送到數據庫的查詢,並在新的查詢頁面中鍵入它後按預期返回數據。我在Windows 7上使用Visual Studio 2012. 如何獲取存儲在數據庫中的數據?我做錯了什麼?
正如同Eric J.要求在控制器我簡單地使用財產場館從的DbContext類:
ViewBag.venuesList = db.Venues;
其被初始化爲:
private StecSportsDBContext db = new StecSportsDBContext();
,它給了我這樣的SQL查詢:
{SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name],
[Extent1].[Description] AS [Description],
[Extent1].[Country] AS [Country],
[Extent1].[City] AS [City],
[Extent1].[Street] AS [Street],
[Extent1].[Area] AS [Area],
[Extent1].[OppeningYear] AS [OppeningYear]
FROM [SportsVenues] AS [Extent1]}
我確定這個查詢工作並返回正確的數據,因爲我複製它並在數據庫上運行ase服務器。
你顯示了一切,但實際上試圖查詢數據庫的代碼。 –
我只是使用像ViewBag.venuesList = db.Venues;它給我sql查詢如{SELECT [Extent1]。[Id] AS [Id], [Extent1]。[Name] AS [Name], [Extent1]。[Description] AS [Description], [Extent1 ] [國家] AS [國家], [範圍1]。[城市] AS [城市], [範圍1]。[街道] AS [街道], [範圍1]。[範圍] AS [範圍], [Extent1]。[OppeningYear] AS [OppeningYear] FROM [SportsVenues] AS [Extent1]}。 db變量初始化爲私有StecSportsDBContext db = new StecSportsDBContext(); – user2800697
請用該代碼編輯您的問題,而不是添加評論。 –