2012-12-07 45 views
1

指定数据库类型如何分辨使用Varbinary(max)用于图像数据库?在代码第一

我使用SQL Server Compact数据库与EF 6,我不能从SQL Server打开2008

public class Table 
{ 
    public int Id { get; set; } 
    public DateTime DateTime { get; set; } 

    public byte[] Image { get; set; } 

    [NotMapped] 
    public string NotMapped { get; set; } 
} 

这个例外发生在我身上时,我尽量节省30万字节的图像

验证失败的一个或多个实体。有关更多详细信息,请参阅“EntityValidationErrors”属性。

回答

0

我阅读了以下帖子Ladislav认为它可以开箱即用。不是吗?我没有亲自尝试过。

授予文章涉及到EF代码首先CTP5,但往往是CTP版本相当接近最终的功能。

How to store images using Entity Framework Code First CTP 5?

我用下面很容易地看到验证错误调试时: Validation failed for one or more entities. See 'EntityValidationErrors' property for more details

+0

我需要写在图像属性一些数据类型注释告诉EF使用这些数据类型 –

+0

所以,在默认情况下,与为byte []它不会从VARBINARY场接收数据的属性?它是否给你一个“EntityCommandExecutionException”,说属性“在数据读取器中没有相应的列具有相同的名称”? – CodeWarrior

+0

啊。你有什么验证错误?我通常得到那些所需的属性或类似的东西。 – CodeWarrior

0

我使用SQL Server Compact数据库与EF 6,我无法从SQL打开它 Server 2008

据我所知,SQL Server Compact不能通过Management Studio进行管理。为此,您应该在Visual Studio中使用Server Explorer(仅限简单功能)或某些外部软件。

+0

好吧,不错,但仍然如何从EF更改DB数据类型甚至给出字节[]固定长度 –

+0

尝试使用属性。像[MaxLength(200)]。这适用于字符串,但它也可能有助于字节。 InteliSense会告诉你可能的选择。 或尝试使用TypeName属性。 你应该谷歌为“EF模型detalization”或“EF列属性”进行更精确的答案。 –