Moses Geo Ответов: 0

Mvc4 с программным удалением entity framework и созданием треков , обновлением


CREATE TABLE [dbo].[LoginLevel_TBL](
	[LoginLevel_ID] [int] IDENTITY(1,1) NOT NULL,
	[LoginLevel_Name] [varchar](500) NULL,
	[Create_Date] [datetime] NULL,
	[Update_Date] [datetime] NULL,
	[Delete_Date] [datetime] NULL,
	[Delete_Status] [bit] NULL,
	[Login_ID] [int] NULL,
 CONSTRAINT [PK_LoginLevel_TBL] PRIMARY KEY CLUSTERED 
(
	[LoginLevel_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


Это моя таблица, где я создаю в sql server 2012 и подключаюсь к ado entity framework для приложения c#. Для того, чтобы делать мягкое удаление и создание треков , обновление Я попробовал шаг create base entity и override dbcontext он работает, но при добавлении новой таблицы все сбрасывается.

Я сталкиваюсь с 2 проблемами, когда использую приведенный ниже код
Он сбрасывается когда я обновляю entity frame work когда я добавляю новую таблицу весь код который я написал сбрасывается
Следующий - это когда я обновляю созданную дату, которая также будет изменена,
когда я удаляю по mofiy то ниже нет никакой возможности строка удаляется из БД

Please anyone help me i was stuck on this


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

public class BaseEntity
  {
      public Nullable<System.DateTime> Create_Date { get; set; }
      public Nullable<System.DateTime> Update_Date { get; set; }
      public Nullable<System.DateTime> Delete_Date { get; set; }
      public Nullable<bool> Delete_Status { get; set; }
      public Nullable<int> Login_ID { get; set; }

  }

создайте выше класс и mofify нижеприведенный файл create by entity
 public class LoginLevel_TBL: BaseEntity
 public partial class SchoolDBEntities : DbContext
  public override int SaveChanges()
   {
       AddTimestamps();
       return base.SaveChanges();
   }
private void AddTimestamps()
   {
       var entities = ChangeTracker.Entries().Where(x => x.Entity is BaseEntity && (x.State == EntityState.Added || x.State == EntityState.Modified));

       var currentUsername = !string.IsNullOrEmpty(System.Web.HttpContext.Current?.User?.Identity?.Name)
           ? HttpContext.Current.User.Identity.Name
           : "Anonymous";

       foreach (var entity in entities)
       {
           if (entity.State == EntityState.Added)
           {
               ((BaseEntity)entity.Entity).DateCreated = DateTime.UtcNow;
               ((BaseEntity)entity.Entity).UserCreated = currentUsername;
           }

           ((BaseEntity)entity.Entity).DateModified = DateTime.UtcNow;
           ((BaseEntity)entity.Entity).UserModified = currentUsername;
       }
   }


I face 2 issues when i am using the below code
It reset when i update entity frame work when i add a new table all the code i wrote is reset
Next one is when i update the created date also be modified,
when i delete by mofiy the below there is no possibilty the row is removed from DB


Пожалуйста кто нибудь помогите мне я застрял на этом

0 Ответов