Ответ WP Ajax содержит скобку & ldquo;] & rdquo; в начале строки & mdash; Зачем? Как исправить?

Поскольку у меня есть сервисный уровень, посредник между моими контроллерами (im using ASP.NET MVC) и мой репозиторий, я решил автоматически установить поля здесь.

Кроме того, у моих POCO нет отношений / абстракций, они полностью независимы. Я хотел бы сохранить его таким образом, а не отмечать какие-либо виртуальные свойства или создавать базовые классы.

Итак, я создал интерфейс IAutoGenerateDateFields:

public interface IAutoGenerateDateFields
{
   DateTime LastModified { get;set; }
   DateTime CreatedOn { get;set; }
}

Для любого POCO i хотите автоматически сгенерировать эти поля, я реализую эту интуицию.

Используя пример в моем вопросе:

public class PocoWithDates : IAutoGenerateDateFields
{
   public string PocoName { get; set; }
   public DateTime CreatedOn { get; set; }
   public DateTime LastModified { get; set; }
}

На моем сервисном уровне я теперь проверяю, реализует ли конкретный объект интерфейс:

public void Add(SomePoco poco)
{
   var autoDateFieldsPoco = poco as IAutoGenerateDateFields; // returns null if it's not.

   if (autoDateFieldsPoco != null) // if it implements interface
   {
      autoDateFieldsPoco.LastModified = DateTime.Now;
      autoDateFieldsPoco.CreatedOn = DateTime.Now;
   }

   // ..go on about other persistence work.
}

Я, скорее всего, сломаю этот код в дополнении к методу помощника / расширения позже.

Но я думаю, что это достойное решение для моего сценария , так как я не хочу использовать виртуальные машины в Save (поскольку я использую Unit of Work, Repository и Pure POCO) и не хочу использовать триггеры.

Если у вас есть мысли / предложения, дайте мне знать.

0
задан jo_va 18 March 2019 в 18:39
поделиться