C# 使用实体框架从表中获取行
我已经创建了一个database.mdf文件,名为calledsportstore.mdf。在这个数据库文件中,我创建了一个表并用行填充它。现在,我正在尝试获取这些行并将其打印到具有实体框架的视图中 我正在尝试使用存储库模式来处理实体框架 在名为sportstore.domain的模型域中,我有三个重要文件:Entities/Product.cs、Concrete/EFDbContext.cs、Concrete/EFProductRepository.cs和Abstract/IProductsRepository.cs IPProductsRepository是EFProductRepository实现的接口 IPProductsRepository:C# 使用实体框架从表中获取行,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我已经创建了一个database.mdf文件,名为calledsportstore.mdf。在这个数据库文件中,我创建了一个表并用行填充它。现在,我正在尝试获取这些行并将其打印到具有实体框架的视图中 我正在尝试使用存储库模式来处理实体框架 在名为sportstore.domain的模型域中,我有三个重要文件:Entities/Product.cs、Concrete/EFDbContext.cs、Concrete/EFProductRepository.cs和Abstract/IProductsR
using SportsStore.domain.Entities;
namespace SportsStore.domain.Abstract
{
public interface IProductRepository
{
IEnumerable<Product> Products { get; }
}
}
using SportsStore.domain.Abstract;
using SportsStore.domain.Entities;
namespace SportsStore.domain.Concrete
{
public class EFProductRepository : IProductRepository
{
private EFDbContext context = new EFDbContext();
public IEnumerable<Product> Products
{
get { return context.Products; }
}
}
}
kernel.Bind<IProductRepository>().To<EFProductRepository>();
如您所见,控制器正在使用IPProductRepository接口
以下是我的看法:
@using SportsStore.domain.Entities
@model IEnumerable<Product>
@{
ViewBag.Title = "Products";
}
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Description);
</td>
<td>
@Html.DisplayFor(modelItem => item.Price);
</td>
<td></td>
</tr>
}
@使用sportstore.domain.Entities
@模型IEnumerable
@{
ViewBag.Title=“产品”;
}
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.Description);
@DisplayFor(modeleItem=>item.Price);
}
连接字符串:
<connectionStrings>
<add name="SchoolContext"
connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
我的问题是,当我运行我的应用程序时,没有打印任何内容。没有显示错误消息或什么都没有
我该怎么处理我的问题呢?我应该看哪里?引用
.mdf文件数据库的连接字符串在哪里?@AramKocharyan:检查我的更新问题您说您创建了一个mdf数据文件,但您连接到的是附加数据库,而不是数据文件。请准确描述您是如何创建数据库的。为了使数据文件具有相关性,您必须实际将该文件添加到项目中。考虑到您的连接字符串,您可能必须在ManagementStudio中创建一个附加数据库。请准确描述您是如何创建此数据库的。@BryanDriver={SQL Native Client};服务器=。\SQLExpress;AttachDbFilename=您的\u MDF\u路径;数据库=dbname;可信连接=是代码>@AramKocharyan:我解决了,非常感谢:)
@using SportsStore.domain.Entities
@model IEnumerable<Product>
@{
ViewBag.Title = "Products";
}
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Description);
</td>
<td>
@Html.DisplayFor(modelItem => item.Price);
</td>
<td></td>
</tr>
}
<connectionStrings>
<add name="SchoolContext"
connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>