我想知道是否可以将某些数据库列映射到自定义数据类型(自定义类),而不是像string,int等基本数据类型。我将尝试用一个具体的例子来更好地解释它:
假设我有一个表,其中一列包含特殊格式的(文本)数据(例如,数字后跟分隔符,然后是一些任意字符串)。例如。表格如下:
Table "MyData": ID |Title(NVARCHAR) |CustomData (NVARCHAR) ---+----------------+----------------------- 1 |Item1 |1:some text 2 |Item2 |333:another text
(假设我不允许更改数据库)在我的域模型中,我希望将此表由两个类表示,例如像这样的东西:
public class MyData
{
public int ID { get; set; }
public string Title { get; set; }
public CustomData { get; set; }
}
public class CustomData
{
public int ID { get; set; }
public string Text { get; set; }
public string SerializeToString()
{
// returns the string as it is stored in the DB
return string.Format("{0}:{1}", ID, Title);
}
public string DeserializeFromString(string value)
{
// sets properties from the string, e.g. "1:some text"
// ...
}
}
实体框架(V4)是否提供了创建和使用此类“自定义数据类型”的方法?
答案 0 :(得分:1)
没有。不管怎样,不是那样的。
但是,您可以通过以下方式解决此问题: