小编Eri*_*sen的帖子

通过EntityFramework获取最新的表值

我有一个包含多个字段的表,每个字段都由单独的ViewModel单独更新,现在我想获取特定字段的最新值(也许它已在我的表的第五条记录中更新),好吗?现在我写的是这样的:

  public ViewResult ShowPiece()
        {
            var context = new SiteContext();
            var showPiece = context.Portraits.LastOrDefault();
            return View(showPiece);
        }
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序并导航到上面的操作时,我得到了错误:

LINQ to Entities无法识别该方法,并且此方法无法转换为商店表达式...

有什么问题?

c# entity-framework

12
推荐指数
2
解决办法
3万
查看次数

使用UnitOfWork和存储库模式与实体框架

我将在我的数据访问层中使用存储库和UnitOfwork来执行此操作,查看一个联系人aggregateroot

 public interface IAggregateRoot
    {
    }
Run Code Online (Sandbox Code Playgroud)

这是我的Generic存储库接口:

 public interface IRepository<T>
        {
            IEnumerable<T> GetAll();
            T FindBy(params Object[] keyValues);
            void Add(T entity);
            void Update(T entity);
            void Delete(T entity);

        }
Run Code Online (Sandbox Code Playgroud)

和我在模型中的POCO Contact类

 public class Contact :IAggregateRoot
        {
            public Guid Id { get; set; }
            public string Name { get; set; }
            public string Email { get; set; }
            public string Title { get; set; }
            public string Body { get; set; }
            public DateTime CreationTime { get; set; }
        }
Run Code Online (Sandbox Code Playgroud)

这是我继承自IRepository的IContactRepository,也可能是自己的方法

 public interface …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework unit-of-work repository-pattern

3
推荐指数
1
解决办法
8522
查看次数

通过实体框架获取最新的表记录

我正在使用EntityFramework的代码优先功能,并且我已经创建了一个具有此属性的模型类,它们具有自己的属性(我在这里没有提到它们!):

public class Portrait
{
        private Guid _id;
        private string _aboutimage;
        private string _aboutMe;
        private string _mainMenu;
        private string _headerImage;
        private string _resume;
        private string _showpiece;
        private string _siteMenu;
        private string _adminMenu;
}
Run Code Online (Sandbox Code Playgroud)

对于这个类的每个部分,我都有单独的ViewModel,例如我必须在admin部分AboutViewModel更新About并在网站的about page中导航:

public class AboutViewModel
{
        public Guid Id { get; set; }
        public string AboutText { get; set; }
        public string Image { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在当我更新时AboutViewModel,Portrait数据库中的表将创建一个关于文本的记录(其他字段将为null)

并且为了更新此表的其他部分Resume或其他部分,它将生成另一个带有更新和插入字段的记录(现在在此记录中有关文本将为null!)

现在我怎么能得到about字段在UI中显示它,因为我有几个记录!我不想也不能通过ID获取这些字段,因为我总是希望将最新的更新显示在网站上,我写的是这样的,我关于获取about文本的动作是这样的:

public ViewResult About()
{
            var about= …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework

1
推荐指数
1
解决办法
9136
查看次数

如何使用Datetime创建月份和年份

我想创建这样的东西:

2013年5月,2013

3月,2013年
2月,2013年
1月,2013年
12月,2012年
11月,2012年

我写的是这样的:

var currentDate = DateTime.Now;
var list = new List<ArchiveViewModel>();
for (var startDate = new DateTime(2013, 1, 1); startDate.Month <= currentDate.Month; startDate = startDate.AddMonths(1))
{
    list.Add(new ArchiveViewModel
                {
                    Month = startDate.Month,
                    Year = startDate.Year,
                    FormattedDate = startDate.ToString("MMMM, yyyy")
                });
}
Run Code Online (Sandbox Code Playgroud)

和ArchiveViewModel是这样的:

public class ArchiveViewModel
{
    public int Month { get; set; }
    public int  Year { get; set; }

    public string  FormattedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,它只创建特定年份(2012年或2013年)的几个月:

January, 2013
February, 2013 …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
107
查看次数