我目前正在使用EF和代码优先方法从现有系统构建数据库。
最好对'核心'类进行微小的更改。 因此,我想找到Structs和EF的解决方法。
是否可以以任何方式将Struct包装到类中,以便EF可以使用此Struct中的数据?由于EF能够创建自己的“核心”类的代理,我不应该也能够这样做吗?
我对.Net,C#和EF的了解相当有限,因为我今年因学士学位而开始学习这门语言。
任何帮助都将受到高度赞赏。
编辑:添加了示例代码。
Core有许多使用TaxMode Struct的类,并在此Struct中存储数据。
public class AcmeClass
{
TaxMode Taxmode { get; set; }
}
结构如下:
public struct TaxMode
{
public string Name { get; set; }
public bool isTrue { get; set; }
}
任何将TaxMode
的属性添加到这些类中的尝试只会导致不可为空的错误。
答案 0 :(得分:3)
答案 1 :(得分:0)
您是否考虑过如下序列化?
[NotMapped]
public TaxMode? TaxMode { get; set; }
public string TaxModeJSON
{
get
{
return TaxMode == null
? null
: JsonConvert.SerializeObject(TaxMode);
}
set
{
if (string.IsNullOrWhiteSpace(value))
TaxMode = null;
else
TaxMode = JsonConvert.DeserializeObject<TaxMode>(value);
}
}
该解决方案会将您的结构另存为 JSON,并使用序列化在数据库中存储和检索数据。