谢谢。 我正在使用 EF,并在我的 aspnetcore5 项目中创建了一个产品表。当我想在程序代码中使用Product Class时,它无法识别该类 当我想在我的代码中使用产品类时,根据下面的非识别:
using UCI.Application.Interfaces.Contexts;
using UCI.Common.Dto;
using UCI.Domain.Entities.Products;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
namespace UCI.Application.Services.Product.Command.AddNewProduct
{
public interface IAddNewProductservice
{
ResultDto Execut(RequestAddNewProductDto request);
}
public class AddNewProductService : IAddNewProductservice
{
private readonly IDataBaseContext _context;
private readonly IHostingEnvironment _environment;
public AddNewProductService(IDataBaseContext context,IHostingEnvironment hostingEnvironment)
{
_context = context;
_environment = hostingEnvironment;
}
public ResultDto Execut(RequestAddNewProductDto request)
{
try
{
var category = _context.Category.Find(request.CategoryId);
produc
}
catch (Exception ex)
{
return new ResultDto
{
Message = "خطا رخ داد ",
};
}
}
}
这是因为您的 UCI.Application.Services 文件夹中存在一个名为“Product”的冲突命名空间,并且目前对此 ICI.Domain.Entities.Products 没有
using
语句。我首先将命名空间标准化为复数,因此在 UCI.Application.Services 中,将“Product”文件夹和命名空间也重命名为“Products”。如果您没有 Product 文件夹,那么您可能曾经有过,并且某个类仍在使用该命名空间。通过代码搜索“UCI.Application.Services.Product”,这将有助于找到要更改的具有无效/不正确命名空间的类。您通常希望确保命名空间和类名称不重叠,因此智能感知会更有帮助,因为您希望它找到添加 using
语句的类。
添加:
using UCI.Domain.Entities.Products;
...当前文件的顶部将解决问题,并将解析您的实体类名称。