gpt4 book ai didi

c# - 我的域模型中的图像应该使用什么数据类型?

转载 作者:行者123 更新时间:2023-11-30 19:34:58 25 4
gpt4 key购买 nike

我正在使用 DDD 方法的 Silverlight。我有一个 Person 域对象,它具有 FirstName、LastName、Address 等属性。Person 需要有一个图像。

处理此问题的最佳方法是什么?

我真的不想在 Person 对象上放置一个 Windows.Controls.Image 属性,因为它会与 Silverlight/WPF 耦合,我可能想在未来将这个对象与其他一些技术(ASP, WinForms,下一个新事物,等等)。

我还需要能够在某处保存和加载图像。将图像保存到数据库或文件系统是最佳做法吗?我目前正在将 nHibernate 与 Microsoft SQL Server 一起使用,但我也希望能够支持 nHibernate 与 mySql 以及可能的其他一些数据库。也有可能有一天我想用 Entity Framework 或其他一些技术替换 nHibernate(我正在使用存储库将其抽象出来)。

根据这些信息,我应该如何处理我个人的图像?

最佳答案

嗯,byte[](或包装 byte[] 的东西)是相当可移植的……大多数其他东西都将是特定于实现的。

关于数据库与文件...出于客户端应用程序(Silverlight、WPF 等)的目的,我可能会通过网页而不是 WCF(等)调用公开它们 - 即一些 ASP.NET 处理程序(或ASP.NET MVC 路由),它通过 http 调用返回图像。那么您在客户端中实际上需要的就是图像的路径(/people/images/12345 或其他)。

对于存储 - 通常都可以...在 SQL Server 2008 中,您可以使用文件流类型同时执行这两项操作。在数据库中存储 BLOB 的问题之一是增加了大小,但是一些(小的)图像通常不会造成伤害(除非您使用的是 SQL Express 并且数据库大小有上限)。但是使用数据库的优势在于一次备份就包含了所有内容。

尽管这么说:我像这样完成的几乎每个实现都使用了文件。

关于c# - 我的域模型中的图像应该使用什么数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/693389/

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