public void addFile(HttpPostedFileBase file, user user, string source) { var fileName = Path.GetFileName(file.FileName); MemoryStream target = new MemoryStream(); file.InputStream.CopyTo(target); byte[] data = target.ToArray(); ViniSandbox.Models.file f = new ViniSandbox.Models.file(); //f.analyzed = true; f.date = DateTime.Now; f.name = fileName; f.source = source; string md5 = MD5Helper.ByteToMD5(data); file_detail fd = db.file_detail.FirstOrDefault(p => p.md5 == md5); if (fd == null) { fd = new file_detail(); fd.md5 = md5; fd.data = data; fd.analyzed = false; } user.files.Add(f); f.user = user; f.file_detail = fd; fd.files.Add(f); db.SaveChanges(); }