我有EF databaseModel。 我使用EF DB Table Type序列化我的类包含字段。 我试图去实现,我有与空领域的领域。Protobuf和实体框架数据库模型
class Myclass
{
public EFTable table {get;set;}
}
EFTable
- 字符串str;
- int num;
[全球:: System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty =真,ISNULLABLE =假)] [全球:: System.Runtime.Serialization.DataMemberAttribute()] [全球::系统。 CodeDom.Compiler.GeneratedCode( “System.Data.Entity.Design.EntityClassGenerator”, “4.0.0.0”)]
后反序列化 EFTable - 字符串str = NULL - INT NUM = 0
为什么?如何修复它而不创建临时类?
public static byte[] Serialize(BaseInspection inspection)
{
using (var file = File.Create(path.ToString()))
{
Serializer.Serialize(file, inspection);
}
return File.ReadAllBytes(path.ToString());
}
static BaseInspection Desirialize(byte[] path)
{
using (Stream stream = new MemoryStream(path))
return Serializer.Deserialize<BaseInspection>(stream);
}
发布您的EFTable。 EFTable的属性是否有任何Proto属性? –
当创建EF数据库模型\ Scheme – Risa
时,所有的都是标准的。ProtoBuf有两种方式来指定字段的顺序。首先是在每个属性上指定属性。第二个 - 在运行时创建这个'RuntimeTypeModel',并用反射填充 –