Member 13812021 Ответов: 1

Не удается неявно преобразовать тип


Привет всем, у меня возникли некоторые проблемы с моим кодом для удаления клиента. Я получаю сообщение об ошибке "не удается неявно преобразовать тип 'SiteFoundation.StoredataAccess.Сущности.Клиент' to 'SiteFoundation.StoreDataAccess.StoreEntities'". Ниже приведен мой код. Я убежден, что это как-то связано с ИД, но не уверен.

Спасибо за вашу помощь!

Что я уже пробовал:

Контроллер:
public string DeleteCustomer(int ID)
{
    using (StoreEntities db = new StoreEntities())
    {
        StoreEntities Customer = db.CustomerSet.Find(ID);
        db.CustomerSet.Remove(Customer);
        db.SaveChanges();
        return "Deleted successfully";
    }
}


StoreEntities
using SiteFoundation.StoreDataAccess.Configurations;
using SiteFoundation.StoreDataAccess.Entities;
using System;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SiteFoundation.StoreDataAccess
{
    public class StoreEntities : DbContext
    {
        public StoreEntities() : base("DefaultConnection")
        {

        }

        #region Store Entities
        public IDbSet<Customer> CustomerSet { get; set; }
        public IDbSet<Order> OrderSet { get; set; }
        public IDbSet<Product> ProductSet { get; set; }
        public IDbSet<OrderDetails> OrderDetailSet { get; set; }
        public IDbSet<Category> CategorySet { get; set; }
        public IDbSet<CategoryDetails> CategoryDetailsSet { get; set; }
        #endregion

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

            modelBuilder.Configurations.Add(new CustomerConfiguration());
            modelBuilder.Configurations.Add(new OrderConfiguration());
            modelBuilder.Configurations.Add(new ProductConfiguration());
            modelBuilder.Configurations.Add(new OrderDetailsConfiguration());
            modelBuilder.Configurations.Add(new CategoryConfiguration());
            modelBuilder.Configurations.Add(new CategoryDetailsConfiguration());
        }
    }

    public class CustomerEntity : DbContext
    {
        public CustomerEntity() : base("DefaultConnection")
        {

        }

    }
}


Модель Поддержки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SiteFoundation.StoreDataAccess.Entities
{
    public class Customer : IEntity
    {
        public Customer()
        {
            Orders = new List<Order>(); 
        }

        public int ID { get; set; }
        public string CustomerName { get; set; }
        public string CustomerEmail { get; set; }
        public string CustomerPhone { get; set; }
        public string CustomerCountry { get; set; }
        public string CustomerImage { get; set; }

        public virtual ICollection<Order> Orders { get; set; }
    }

}

1 Ответов

Рейтинг:
11

EasyPedia

На самом деле вы пытаетесь преобразовать сущность данных в DataContext
Я думаю, что ваш код будет выглядеть примерно так

public string DeleteCustomer(int ID)
{
   using (StoreEntities db = new StoreEntities())
   {
       Customer customer = db.CustomerSet.Find(ID);
       db.CustomerSet.Remove(customer);
       db.SaveChanges();
       return "Deleted successfully";
   }
}

In above code Customer customer = db.CustomerSet.Find(ID);
Customer is your data entity and customer  is an instance of Customer


Member 13812021

Спасибо за ответ, мне тоже пришлось добавить ссылку на топ. Который, как мне казалось, у меня уже был.