我正在尝试使用Mono运行应用程序.它在IIS上运行正常,但我希望它在Mono上运行.但它总是把它扔给我:
The ‘CreateDate’ property on ‘Article’ Could not be set to a ‘System.String’ value. You must set this property to a non-null value of type ‘System.DateTime’.
事实是抛出它的地方是这样的:
public Article[] Select(int number) { return DbContextProvider.Current.Set<Article>() .OrderByDescending(n => n.CreateDate) .Take(number) .ToArray(); }
SystemString没有任何用处.实际上,它转换为字符串的唯一地方是:
@using BaseSite.Extensions.DateTimeExtensions @model Classic.Views.Home.Articles.Articleviewmodel <div class="article-wrapper"> <div class="article-title"> @Html.ActionLink(Model.Title,"Index","Articles",new RouteValueDictionary{{"articleId",Model.ArticleId}},null) </div> @Html.Raw(Model.Text) <div class="article-data date"> @Html.ActionLink(Model.UserId,"Profile",new RouteValueDictionary{{"userId",Model.UserId}},null),@Model.CreateDate.Format(true) </div> </div>
但错误在此之前被抛出.并且,它适用于IIS,只有在Mono上才会出现这样一个奇怪的错误.
数据库表布局是:
CREATE TABLE [dbo].[Articles]( [ArticleId] [uniqueidentifier] NOT NULL,[UserId] [nvarchar](30) COLLATE sql_latin1_General_CP1_CI_AS NOT NULL,[CreateDate] [datetime2](7) NOT NULL,[Title] [nvarchar](50) COLLATE sql_latin1_General_CP1_CI_AS NOT NULL,[Text] [nvarchar](max) COLLATE sql_latin1_General_CP1_CI_AS NOT NULL,PRIMARY KEY CLUSTERED ( [ArticleId] ASC )WITH (PAD_INDEX = OFF,STATISTICS_norECOmpuTE = OFF,IGnorE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXtimage_ON [PRIMARY]
映射类:
using System; namespace BusinessObjects.Articles { public class Article { public Guid ArticleId { get; set; } public string UserId { get; set; } public DateTime CreateDate { get; set; } public string Title { get; set; } public string Text { get; set; } } } using System.Data.Entity; namespace BusinessObjects.Articles { public class ArticleMapper : IDbMapper { public void Map(DbModelBuilder modelBuilder) { var entity = modelBuilder.Entity<Article>(); entity.HasKey(n => n.ArticleId); entity.Property(n => n.ArticleId).Isrequired(); entity.Property(n => n.UserId).Isrequired().HasMaxLength(30); entity.Property(n => n.Title).Isrequired().HasMaxLength(50); entity.Property(n => n.Text).Isrequired().IsMaxLength(); } } }
是的我还有其他表与DateTime,他们都得到了这个错误.它们都在IIS(MS Stack)上正常运行,它只在Mono xsp4上出错.
有人可以提供任何帮助吗?我迷失了这种疲惫.
PS:我试过几乎所有的单声道版本,现在我在Mono git master 3.8.1(master / 38c3874),同样的东西有3.6,3.2.8等
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。