برای حالت database first جهت بازنویسی مقادیر سیستم tracking آن:
همچنین امکان detach آن هم وجود دارد: (^)
context.YourEntitySet.ApplyCurrentValues(newEntity)
context.YourEntitySet.ApplyCurrentValues(newEntity)
context.Entry(oldEntity).CurrentValues.SetValues(newEntity)
using System; namespace IndexedProperties { public class Data { private int[] _localArray; private ArrayIndexer _arrayIndexer; public Data() { _localArray = new int[10]; for (int i = 0; i < 10; i++) _localArray[i] = i + 1; _arrayIndexer = new ArrayIndexer(this); } public ArrayIndexer Number { get { return _arrayIndexer; } } public class ArrayIndexer { private Data _arrayOwner; public ArrayIndexer(Data arrayOwner) { _arrayOwner = arrayOwner; } public int this[int index] { get { return _arrayOwner._localArray[index]; } } public int Length { get { return _arrayOwner._localArray.Length; } } } } class Program { static void Main(string[] args) { var data = new Data(); for (int i = 0; i < 10; i++) Console.WriteLine(data.Number[i]); } } }
[MetadataType(typeof(Customer_Validation))] public partial class Customer { } public class Customer_Validation { }