public class Person{
public int Id{get;set;}
[ConcurrentCheck]
public string FirstName{get;set;}
public int Age{get;set;}
}
Миграции используются для того, чтобы поддерживать в консистентном состоянии модель и базу данных. При изменении модели( это может быть добавление новой сущности, ссылки, или изменение отношей между сущностями, добавление ограничений на длину строки, размер числа и т.д) необходиомо выполнить миграцию:
dotnet ef migrations add <Migration Name> -v -c <Context Name> -s <Path to Startup Project>
Замена переменной вызовом метода. Полезно, когда количество локальных переменных в методе настолько много, что сложно применить Extract Method, когда эти переменные переплелись между собой:
public void PrintStatistic(IEnumerable<Month> months)
{
var avg = MonthDecimal.Average(x => x.Value);
if (avg > 200)
{
Console.WriteLine($"AVG: {avg - 10}");
Очевидный прием, для облегчения чтения кода, если в коде встречается константа, о назначении которой сложно догадаться, назовите ее и используйте замените все вхождения числа
Нужно применять всегда,особенно когда вокруг этого поля появляется логика
private int _total;
public int Total
{
get => _total;
Удобный паттерн если в приложении много проверок на null, в c# можно использовать динамические прокси для достижения такого эффекта. Предположим, что система спроектирована так, что в массиве
public class Person
{
public Salary January { get; }
public Salary February { get; }
public Salary March { get; }
public Salary April { get; }