EF автоматически присваивает идентификаторы при добавлении объекта в базу данных?
ex: когда я тестировал его, я не знал, как он работает, и запускал код, который добавляет пару объектов кБД пару раз, но при проверке я обнаружил, что все идентификаторы были идеально увеличены на один, даже когда я установил значение вручную
class Program
{
static void Main(string[] args)
{
using (var db = new AulaContext())
{
var a = new Aula();
var b = new Aula();
var c = new Aula();
var d = new Aula();
var e = new Aula();
var f = new Aula();
var g = new Aula();
var h = new Aula();
a.Id = 0;
a.Capacidad = 30;
a.ConexionARed = true;
a.Proyeccion = true;
a.Aul = "1.1";
b.Id = 0;
b.Capacidad = 30;
b.ConexionARed = true;
b.Proyeccion = true;
b.Aul = "1.2";
c.Id = 0;
c.Capacidad = 30;
c.ConexionARed = true;
c.Proyeccion = true;
c.Aul = "1.3";
d.Id = 0;
d.Capacidad = 30;
d.ConexionARed = true;
d.Proyeccion = true;
d.Aul = "2.1";
e.Id = 0;
e.Capacidad = 30;
e.ConexionARed = true;
e.Proyeccion = true;
e.Aul = "2.2";
f.Id = 0;
f.Capacidad = 30;
f.ConexionARed = true;
f.Proyeccion = true;
f.Aul = "2.3";
g.Id = 0;
g.Capacidad = 30;
g.ConexionARed = true;
g.Proyeccion = true;
g.Aul = "1.4";
h.Id = 0;
h.Capacidad = 30;
h.ConexionARed = true;
h.Proyeccion = true;
h.Aul = "1.5";
db.Aulas.Add(a);
db.Aulas.Add(b);
db.Aulas.Add(c);
db.Aulas.Add(d);
db.Aulas.Add(e);
db.Aulas.Add(f);
db.Aulas.Add(g);
db.Aulas.Add(h);
db.SaveChanges();
var query = from aul in db.Aulas
orderby aul.Id
select aul;
foreach (var item in query)
{
Console.WriteLine(item.ToString());
}
Console.ReadKey();
}
}
}
public class Aula
{
private int id;
public int Id { get {return id;} set { id = value; } }
private int capacidad;
public int Capacidad { get { return capacidad; } set { capacidad = value; } }
private bool conexionARed;
public bool ConexionARed { get { return conexionARed; } set { conexionARed = value; } }
private bool proyeccion;
public bool Proyeccion { get { return proyeccion; } set { proyeccion = value; } }
private string aul;
public string Aul { get { return aul; } set { aul = value; } }
public override string ToString()
{
return "ID: " + this.id + "\n" +
"Capacidad: " + this.capacidad + "\n" +
"Conexion a red: " + this.conexionARed + "\n" +
"Proyector: " + this.proyeccion + "\n" +
"Aula: " + this.aul;
}
}
public class AulaContext : DbContext
{
public DbSet<Aula> Aulas { get; set; }
}
}