gpt4 book ai didi

c# - 使用 Entity Framework Code-First 方法在 SQL CE 4 中存储文件

转载 作者:太空狗 更新时间:2023-10-29 20:21:54 25 4
gpt4 key购买 nike

我正在尝试将实体添加到 SQL CE 4,它具有 byte[] 类型的属性。从 msdn 我发现只有图像类型可以容纳大文件(在我的情况下它们不是那么大,但仍然超过二进制类型 8000 字节的限制)。这是模型:

public class TabModel
{
[Key]
public Guid Id { get; set; }

public string Title { get; set; }
public string Subtitle { get; set; }
public string Artist { get; set; }
public string Album { get; set; }
public string Author { get; set; }
public string TabAuthor { get; set; }
public DateTime DateAdded { get; set; }

[Column("file",TypeName="image")]
public byte[] File { get; set; }

public TabModel()
{
Id = Guid.NewGuid();
DateAdded = DateTime.Now;
}
}

我也有从 DbContext 派生的类,当我使用它时是这样的

library.Tabs.Add(tab);//tab of type TabModel, File is array with length equals 12000
library.SaveChanges();//throws exception

错误:

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. EntityValidationErrors[0]="The field File must be a string or array type with a maximum length of '4000'."

我尝试在属性上使用 MaxLength 属性,但错误更改为“不支持长度超过 8000 的二进制列”。

似乎 EF 将列映射到二进制类型而不是图像。如何解决这个问题?

最佳答案

请参阅此博文:http://erikej.blogspot.com/2011/04/saving-images-to-sql-server-compact.html - 作为解决方法,您需要禁用验证。

关于c# - 使用 Entity Framework Code-First 方法在 SQL CE 4 中存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com