繁体   English   中英

核心MVC实体框架存储库模式

Core MVC Entity Frame Repository Pattern

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

请帮帮我。 我是新的.net核心mvc,在这里。 我正在开发一个非常简单的博客网站。 但是我遇到了一个错误。 上课后

    
using System.Collections.Generic;

namespace DataAccess
{
     public class Post
    {
        public int PostId { get; set; }
        public string PostTitle { get; set; }
        public string PostWriter { get; set; }
        public string PostDate { get; set; }
        public string PostİmageUrl { get; set; }
        public string PostContent { get; set; }
        public List<Post> Posts { get; set; }


    }


}
using System.Collections.Generic;
using System.Linq;
using DataAccess.Abstract;
using Microsoft.EntityFrameworkCore;
using static DataAccess.Entity;

namespace DataAccess.Concrete.SqLite
{
    public class PostRepository : IPostRepository
    {
        private Context db = new Context ();
        public List<Post> GetAll()
        {
            return db.Posts.ToList();
        }

        public Post GetById(int id)
        {
            return db.Posts.Find(id);
        }
    }
}

家用控制器

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Blog.Models;
using DataAccess.Abstract;
using DataAccess;

namespace Blog.Controllers
{
    public class HomeController : Controller
    {
       
        private IPostRepository _postRepository;
        private ICommentRepository _commentRepository;
        private ICategoryRepository _categoryRepository;

        public HomeController(IPostRepository postRepository, ICommentRepository commentRepository, ICategoryRepository categoryRepository)
        {
            this._postRepository = postRepository;
            this._commentRepository = commentRepository;
            this._categoryRepository = categoryRepository;
        }
        public IActionResult Index()
        {
            var Post = new Post ()
            {
                Posts = _postRepository.GetAll()
            };
            return View(Post);
            // return View(new PostViewModel()
            // {
            //     Posts = _postRepository.GetAll()
            // });
            
        }

        public IActionResult Privacy()
        {
            return View();
        }
    }
}

我的看法

@model Post

@{

  var P = Model.Posts;
}
      <!-- Post Content Column -->
      <div class="col-lg-8">

        <!-- Title -->
        @foreach (var item in P)
        {
                 <h1 class="mt-4">@item.PostTitle</h1>
   
        }
        </div>

这是我的代码。 [我的数据库] [1] [我的错误] [2] [1]:https://i.stack.imgur.com/IOc10.png [2]:https://i.stack.imgur.com/5ADC2 .png您如何看待我能解决的问题?

问题暂未有回复.您可以查看右边的相关问题.
1 MVC2,实体框架和存储库模式

我正在尝试使用MVC2和EF的存储库模式。 我的问题在具体的存储库中。 当我尝试将EF查询结果转换为IEnumerable视图模型实体集合时: 我觉得这是一个让人头疼的事情 - 这与Linq有关,延迟执行是如何起作用的,但我并不真正理解巫术。 那么我在那里误解的是什么呢?我该如 ...

2 存储库模式与mvc没有实体框架

具有工作单元的存储库模式最适合实体框架应用吗? 我正在创建一个新的asp.net mvc应用程序,我想使用存储过程(微软企业库)而不是实体框架(或任何其他ORM)。 那么如何在mvc应用程序中使用存储库模式呢? 我已经探索了很多教程但没有得到预期的结果。 请建议我更好的方法进 ...

3 实体框架核心、工作单元和存储库模式

阅读了大量文章,指出不建议将 UOW 和存储库模式置于 EF Core db 上下文之上,我几乎已经加入并即将在我的一个新项目中实现注入 IDBContext 的服务。 我说几乎,因为我以前使用过一个功能,我不知道如何在没有存储库的情况下实现。 在之前的项目中,我在 EF 之上使用了 UOW 和 ...

4 实体框架核心存储库模式急切加载

我正在尝试使用存储库模式构建一个 Web 应用程序。 这样做时,我注意到我的导航属性没有加载。 我能够使用 EF 代理加载我的属性,但是当我去使用我的 DTO 时,它真的不喜欢那样。 从那以后,我删除了所有代理代码,并决定我只需要提供一种方法来快速加载我关心的数据。 在我的存储库中,我有一个与此类 ...

6 实体框架核心存储库模式 - 重复检查

我正在尝试找出一个解决方案,以检查是否有任何不应该重复的字段添加了一行会破坏此规则。 我正在使用存储库模式,所以我想在存储库中创建一个方法来执行此操作。 在这个例子中,我试图在控制器中添加一个公司,然后再添加它在CompanyRespository中调用此方法: 我面临的问题是尝 ...

8 具有实体框架和更新记录的MVC存储库模式

我试图在MVC应用程序中将存储库模式与EntityFramework一起使用来更新记录,但是db.SaveChanges()方法没有保存到数据库中。 我没有遇到任何错误,可以逐步浏览代码,查看传递正确的变量以及记录变量的情况。 根据我一直在阅读的内容,我认为我的问题是我有两个数据库上下文 ...

10 使用存储库模式,实体框架,MVC的查询过多

我仍然有一个问题,但是在这里人们的帮助下,我越来越接近。 我使用的是EF Profiler,当我加载仪表板控制器时,它正在运行许多查询,这些查询从数据库“实质上”撤回了相同的数据。 这是我的控制器示例: 您将看到有一些函数(通过ajax调用到Kendo Controls中),但是 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM