不同于使用某物
本文关键字:不同于 | 更新日期: 2023-09-27 18:17:08
我现在正在MVC 5.0 c#中创建web应用程序,我的作品停止了,因为我有一个小问题。我有类Packs
,接口Packs
- IPacksrepository
,和PacksController
。
Packs.cs
namespace Domain.Entities
{
public class Packs
{
public int PacksID { get; set; }
public string Name { get; set; }
public string OwnerDescripiton { get; set; }
public decimal wymiarX { get; set; }
public decimal wymiarY { get; set; }
public decimal wymiarZ { get; set; }
public decimal Waga { get; set; }
public string dataprzyjeciadomagazynu { get; set; }
public string datawyslaniazmagazynu { get; set; }
public string dataodebrania { get; set; }
public int WarehousesID { get; set; }
[ForeignKey("WarehousesID")]
public Warehouses Warehouses { get; set; }
}
}
IPackRepostiory
:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Domain.Entities;
namespace Domain.Abstract
{
public interface IPacksRepository
{
IEnumerable<Packs> Packss { get; }
void SavePacks(Packs packs);
Packs DeletePacks(int PacksID);
}
}
PackController
:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Domain.Entities;
using Domain.Abstract;
using WebUi.Models;
namespace WebUi.Controllers
{
public class PacksController : Controller
{
private IPacksRepository repository;
public int PageSize = 1;
public PacksController(IPacksRepository packrepostiory)
{
this.repository = packrepostiory;
}
public ViewResult List()
{
return View(repository.Packss);
}
public ViewResult Index()
{
return View(repository.Packss);
}
public ViewResult Create()
{
return View("Edit", new Packs());
}
public ActionResult Details(int? PacksID)
{
Packs packs = repository.Packss.FirstOrDefault(p => p.PacksID == PacksID);
return View(packs);
}
public ViewResult Edit(int? PacksID)
{
Packs packss = repository.Packss.FirstOrDefault(p => p.PacksID == PacksID);
return View(packss);
}
[HttpPost]
public ActionResult Edit(Packs packs)
{
if (ModelState.IsValid)
{
repository.SavePacks(packs);
TempData["message"] = string.Format("Zapisano {0} ", packs.Name);
return RedirectToAction("Index");
}
else
{
return View(packs);
}
}
public ActionResult Delete(int PacksID)
{
Packs delpacks = repository.DeletePacks(PacksID);
if (delpacks != null)
{
TempData["message"] = string.Format("Usunięto {0}", delpacks.Name);
}
return RedirectToAction("Index");
}
}
}
在我的项目中,我有几个类,interfaces
和Controllers
(如persons
, warehouses
, transportfleet
) -所有功能在结构上是相似的,不同的只是数据集。
所有I "name"存储库使用using Domain.Entities
,一切正常,一切正常。Domain.Entities
包含Pack.cs
等。IPacksRepostiory
,即使它包含没有使用的名称using Domain.Entities
。通过这种方式,我在PackController
中得到了错误,如PackController
:
public ViewResult Edit(int? PacksID)
{
Packs packss = repository.Packss.FirstOrDefault(p => p.PacksID == PacksID);
return View(packss);
}
repository.Packss。FirstOrDefault(p => p.PacksID == PacksID);->错误CS1503参数1:无法从"Domain.Entities.Packs"转换"域。包'
您可以使用var
关键字代替:
var packss = repository.Packss.FirstOrDefault(p => p.PacksID == PacksID);
或者隐式指定限定符和完整类型名,以区分模棱两可的类名:
Domain.Entities.Packs packss = repository.Packss.FirstOrDefault(p => p.PacksID == PacksID);