我想知道是否可以将一些数据库列映射到自定义数据类型(自定义类),而不是字符串、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)是否提供了创建和使用此类“自定义数据类型”的方法?