Me gustaría usar SQL Server xml escriba como un tipo de columna para una clase de entidad.Tipo de datos XML en EF 4.1 Código Primero
Según this thread es posible asignar una columna de este tipo a cadena Tipo:
public class XmlEntity
{
public int Id { get; set; }
[Column(TypeName="xml")]
public string XmlValue { get; set; }
}
La tabla se genera correctamente en el datebase por esta definición. Los nuevos objetos XmlEntity también se pueden crear.
Pero entonces tratar de conseguir alguna entidad de la base de datos: se produce
var entity = db.XmlEntities.Where(e => e.Id == 1).FirstOrDefault();
un error: se detectaron
uno o más errores de validación durante la generación del modelo System.Data .Edm.EdmEntityType: EntityType 'XElement' no tiene una clave definida. Defina la clave para este EntityType.
¡Gracias por compartir! –
@alexey, gran pregunta y respuesta, pero ¿la pregunta no tendría más sentido si incluyese la propiedad XElement en ella, según los artículos de MSDN? Actualmente no hay una propiedad XElement. Por lo tanto, no está claro que el único cambio sea el atributo [NotMapped]. –