Asp.net mvc 3 实体框架asp.net MVC3.net 4
我有点小麻烦。使用我的asp.net mvc3应用程序。 当我试图编译我的应用程序时,我得到了这个错误Asp.net mvc 3 实体框架asp.net MVC3.net 4,asp.net-mvc-3,entity-framework,entity,Asp.net Mvc 3,Entity Framework,Entity,我有点小麻烦。使用我的asp.net mvc3应用程序。 当我试图编译我的应用程序时,我得到了这个错误 namespace Blog.Domain.Abstract { public interface IEntryRepository { IQueryable<Entry> Entries { get; } void SaveEntry(Entry entry); void DeleteEntry(
错误2“Blog.Domain.Concrete.EFEntryRepository”未实现接口成员“Blog.Domain.Abstract.IEntryRepository.SaveEntry(Blog.Domain.Entities.Entry)”D:\dokumenty\visualstudio 2010\Projects\MVC3\Blog\Blog.Domain\Concrete\EFEntryRepository.cs 10 19 Blog.Domain 这是我的界面namespace Blog.Domain.Abstract { public interface IEntryRepository { IQueryable<Entry> Entries { get; } void SaveEntry(Entry entry); void DeleteEntry(Entry entry); } }
这就是我对它的实现namespace Blog.Domain.Abstract { 公共接口存储库 { IQueryable条目{get;} 作废保存分录(分录); 作废删除条目(条目); } }
这是我的项目的链接//刚出现的 现在我正在编译 我做错了什么 我有关于这个错误的新信息。现在,解决方案正在编译,但应用程序因错误信息而崩溃 {“Blog.Domain.Concrete.Entry”类型未映射。请检查该类型是否未使用Ignore方法或NotMappeAttribute数据批注显式排除。请验证该类型是否定义为类,是否为基元、嵌套或泛型,以及是否从EntityObject继承。“}”VisualStudio显示eEntryRepository类中的错误 我不知道该怎么办请帮忙公共类eEntryRepository:IEntryRepository { 私有EFDbContext上下文=新EFDbContext(); 可供公众查阅的参赛作品 { 获取{return context.Entries;} } 公共作废保存条目(条目) { if(entry.EntryID==0) context.Entries.Add(条目); SaveChanges(); } 公共作废删除条目(条目) { context.Entries.Remove(条目); SaveChanges(); } }
好的,问题解决了 在不同的名称空间中有两个不同的类Entry
Blog.Domain.Entities.Entry
Blog.Domain.Concrete.Entry
接口指的是一个,实现指的是另一个。乍一看,它应该可以正常编译。我会逐渐删除代码块,直到它工作,然后逐渐恢复,直到它崩溃,以找到罪魁祸首。在备用命名空间中是否会有另一种类型的条目?它不是备用空间中的另一种类型的条目。我认为问题不在您上面提供的代码块中。如果您完全删除SaveEntry(…);DeleteEntry是否会产生类似的编译错误?我删除了SaveEntry,编译后得到了相同的错误。与引用“SaveEntry”或类似内容的错误完全相同?我在Blog.Domain.Concrete中没有看到Entry类。好的,我在NinjectControllerFactory中将Entry更改为Blog.Domain.Entities.Entry。现在解决方案正在编译,但我仍然有bug。“未映射类型'Blog.Domain.Concrete.Entry'。错误位于Blog.Domain.Concrete.EFEntryRepository.cs第10行:公共类EFEntryRepository:IEntryRepository第11行:{第12行:私有EFDbContext=new EFDbContext();第13行:第14行:公共IQueryable条目
public class EFEntryRepository : IEntryRepository
{
private EFDbContext context = new EFDbContext();
public IQueryable<Entry> Entries
{
get { return context.Entries; }
}
public void SaveEntry(Entry entry)
{
if (entry.EntryID == 0)
context.Entries.Add(entry);
context.SaveChanges();
}
public void DeleteEntry(Entry entry)
{
context.Entries.Remove(entry);
context.SaveChanges();
}
}