Para cada entidad que tiene una relación uno a muchos con otra entidad cuando trato de agregar un nuevo elemento, parece que tengo que definir esta lista de elementos que se relaciona con esta entidad. Por ejemplo, digamos que tengo una entidad ProductType
que tiene una lista de Products
de la siguiente manera:¿Cómo puedo definir Nullable EntitySet <>?
[Table]
public class ProductType
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Id { get; private set; }
[Column]
public string Name { get; set; }
private EntitySet<Product> _products;
[Association(Storage = "_products", ThisKey = "Id", OtherKey = "ProductTypeId")]
public EntitySet<Product> Products
{
get { return _products; }
set { _products.Assign(value); }
}
}
cuando intento añadir un nuevo ProductType
así:
ProductType newType = new ProductType { Name = "newType" };
_productRepository.Add(newType); //InsertOnSubmit() and SaveChanges()
me la da excepción de que Products
es nulo:
Object reference not set to an instance of an object
el mismo problema con todas las entidades que tiene una relación uno a muchos r relación con otras entidades. Entonces, ¿cómo puedo permitir null para el EntitySet <> que representa una de uno a muchos Relación
Gracias, 1 para usar el diseñador de comparar mis asignaciones, que funciona bien como esto: 'this._products = new EntitySet ((entidad Product) => entity.ProductType = this, (Product entity) => entity.ProductType = null); ' –
Me alegra ayudar. A menudo, la mejor forma de aprender a hacerlo manualmente es ver lo que los diseñadores generan y luego expandir desde allí. –