Pan*_*xim 5 c# asp.net entity-framework
美好的一天,我是ASP.NET的新手,我无法弄清楚为什么我的代码不起作用.我有模特:
using System.ComponentModel.DataAnnotations;
using System.Drawing;
using System.Globalization;
namespace WebApp.Models
{
public class News
{
public int NewsId { get; set; }
public string title { get; set; }
public string description { get; set; }
public virtual Picture picture { get; set; }
public int guid { get; set; }
}
public class Picture
{
public int PictureId { get; set; }
public byte[] image { get; set; }
public int width { get; set; }
public int height { get; set; }
public int hash { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我正试图通过帖子形式创建新的"新闻":
// POST: News/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(News news, HttpPostedFileBase uploadImage)
{
if (ModelState.IsValid && uploadImage != null)
{
byte[] imageData = null;
using (var binaryReader = new BinaryReader(uploadImage.InputStream))
{
imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
}
news.picture = new Picture()
{
hash = 0,
image = imageData,
width = 0,
height = 0
};
db.News.Add(news);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(news);
}
Run Code Online (Sandbox Code Playgroud)
但是当我从db检索数据时,我得到空指针异常:当我调用调试器时,我发现"news.picture"值为null.但在db.SaveChanges()之前它100%不为null.看起来我正在做一些愚蠢的错误,bcs我找不到有人遇到这个问题.谢谢.
我不知道为什么,但是当我添加虚拟财产时,一切正常:
public virtual Picture picture { get; set; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
239 次 |
最近记录: |