2
I did a question how to use Sqlbulkcopy, the @Virgilionovic user showed me a code that uses Reflection to save any kind of list, but I do the TypeDescriptor.GetProperties()
he brings the properties collection
and virtual
, that would be binding, thus generating an error when trying to save in Baco.
I managed to remove the IEnumerable
using that code:
var properties = TypeDescriptor.GetProperties(typeof(T))
.Cast<PropertyDescriptor>()
.Where(l=> l.PropertyType == typeof(string) ||
!typeof(IEnumerable).IsAssignableFrom(l.PropertyType));
But I couldn’t remove the virtual classes, this and my class:
public class MensagemUnidade
{
public int MensagemUnidadeId { get; set; }
public string Titulo { get; set; }
public string Texto { get; set; }
public ICollection<FotoMensagemUnidade> Fotos { get; set; }
public int UnidadeId { get; set; }
public int ClienteId { get; set; }
public virtual Cliente Cliente { get; set; }
public virtual Unidade Unidade { get; set; }
}
In case I already managed to withdraw Fotos
, but I had to take Cliente
and Unidade
, leaving only ClienteId
and UnidadeId
, if anyone knows a good way to do so would be grateful.
EDIT:
Adding the properties to the DataTable
foreach (PropertyDescriptor prop in properties)
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType)
?? prop.PropertyType);
But you need to use the
TypeDescriptor
andPropertyDescriptor
?– Jéf Bueno
I was seeing the difference between them Type and Typedescriptor, I’m only using because that’s how Victor passed me the other question, as I have little knowledge yet I haven’t changed, I’m studying.
– William Cézar