我想保存我的编辑到数据库,我在ASP.NET MVC 3/C#中使用实体框架代码优先,但我收到错误.在我的Event类中,我有DateTime和TimeSpan数据类型,但在我的数据库中,我分别有日期和时间.这可能是原因吗?在保存对数据库的更改之前,如何在代码中转换为适当的数据类型.
public class Event
{
public int EventId { get; set; }
public int CategoryId { get; set; }
public int PlaceId { get; set; }
public string Title { get; set; }
public decimal Price { get; set; }
public DateTime EventDate { get; set; }
public TimeSpan StartTime { get; set; }
public TimeSpan EndTime { get; set; }
public string Description { get; set; }
public string EventPlaceUrl { get; set; }
public Category Category …Run Code Online (Sandbox Code Playgroud) 我在编译时遇到这个错误 - >不能将字段M1 :: sc声明为抽象类型I1,因为以下虚函数在I1中是纯的.请帮忙.
class I1
{
public:
virtual void a(int dir) = 0;
virtual void b() = 0;
virtual void c() = 0;
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class I2 : public I1
{
public:
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class M1 : public G1
{
protected:
I1 sc;
public:
int dir = 4; …Run Code Online (Sandbox Code Playgroud) 我在运行应用程序时遇到上述异常.该应用程序使用的是asp.net mvc 3/C#.我制作了一个mdf文件并将其添加到Visual Web Developer Express中的App_Data文件夹下.我在web.config文件夹中添加了连接字符串,但是当我运行并浏览到/ store时,我得到上面的错误并var categories = storeDB.Categories.ToList();突出显示该行.我的数据库包含6个表,其中一个是Category.
控制器:
EventCalendarEntities storeDB = new EventCalendarEntities();
public ActionResult Index()
{
var categories = storeDB.Category.ToList();
return View(categories);
}
Run Code Online (Sandbox Code Playgroud)
web.config文件中的连接字符串:
<connectionStrings>
<add name="EventCalendarEntities"
connectionString="data source=.\SQLEXPRESS;
Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|\MvcEventCalendar.mdf;
User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud) 我正在从控制器传递一个对象到视图.该对象包含属性名称,标题和事件列表,如列表事件.你可以在这里参考(http://www.asp.net/mvc/tutorials/mvc-music-store-part-4).我正在使用ASP.NET MVC 3/C#/和Scripts
@model MvcEventCalendar.Models.Category
@{
ViewBag.Title = "Browse";
}
<h2>Browsing Category: @Model.Name</h2>
<ul>
@foreach (var event in Model.Events)
{
<li>
@event.Title
</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
行中存在问题(@foreach(Model.Events中的var事件))和(@ event.Title).对象事件对模型不可见.同样,标题对事件不可见.智能感知不会显示任何内容
编译器错误消息:CS1513:}预期
来源错误:
Line 8:
Line 9: <ul>
Line 10: @foreach (var event in Model.Events)
Line 11:
Line 12: {
Run Code Online (Sandbox Code Playgroud) 为什么将字符串转换/解析为 int 返回 0/零?
在调试时,使用断点,我可以看到“3”作为字符串值发布到浏览操作,但是当我如上所述转换为 int 时,该值将转换为 int 类型的 0 值。
//
// GET: /Event/Browse
public ActionResult Browse(string category)
{
int id = Convert.ToInt32(category);
// Retrieve Category and its Associated Events from database
var categoryModel = storeDB.Categories.Include("Events").Single(g => g.CategoryId == id);
return View(categoryModel);
}
Run Code Online (Sandbox Code Playgroud)
查看下图以更好地理解:

另一张图片 -categoryModel 在 LINQ 查询上获取 null。
