如何使用 Blazor 应用程序将多个图像存储在数据库中?
How can I store multiple images in a database with a Blazor application?
我有一个向用户显示表单的应用程序。该表单由服务器获取并存储在数据库中,可以在应用程序的另一个页面上读取其中的信息。表单的一部分采用图像,其中图像被转换为 Base64 字符串并发送到 Azure 进行存储,图像的 URL 作为字符串存储在数据库中。这一切都很好。我的麻烦来自于尝试实现用户可以 select 多张图片的功能。
我尝试将 string Image {get;set;}
更改为 List<string> {get;set;}
,其中数据库将仅存储 URL 的列表,我可以在应用程序中循环访问它们。这显然行不通,因为通过一些研究,我了解到数据库不能存储列表。
我现在想知道我能在这里做什么。有没有一种我缺少的更简单的方法?我做错了什么?
I tried changing the string Image {get;set;} to a List
{get;set;} where the database would just store a list of the URLs
where I could iterate through them in the application. This obviously
did not work, as through some research, I learned that databases
cannot store lists.
您可以尝试使用以下方法:
在图像 url 之间添加分隔符。使用 string Image {get;set;}
存储图片 url,值如下:“image1url,image2url,etc”(使用 ,
作为分隔符)。你可以考虑使用String.Join Method.
新建Imagetable存放Image信息(包含ID,Name,Urls),然后配置Maintable和Maintable一对多关系图像模型。在 Main 模型中,使用导航 属性 添加图像。代码如下:
public class Main
{
public int Id { get; set; }
public string Name { get; set; }
public List<Image> Images { get; set; }
}
public class Image
{
public int Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}
有关实体关系的更多详细信息,请参阅:
Configuring One To Many Relationships in Entity Framework Core
我有一个向用户显示表单的应用程序。该表单由服务器获取并存储在数据库中,可以在应用程序的另一个页面上读取其中的信息。表单的一部分采用图像,其中图像被转换为 Base64 字符串并发送到 Azure 进行存储,图像的 URL 作为字符串存储在数据库中。这一切都很好。我的麻烦来自于尝试实现用户可以 select 多张图片的功能。
我尝试将 string Image {get;set;}
更改为 List<string> {get;set;}
,其中数据库将仅存储 URL 的列表,我可以在应用程序中循环访问它们。这显然行不通,因为通过一些研究,我了解到数据库不能存储列表。
我现在想知道我能在这里做什么。有没有一种我缺少的更简单的方法?我做错了什么?
I tried changing the string Image {get;set;} to a List {get;set;} where the database would just store a list of the URLs where I could iterate through them in the application. This obviously did not work, as through some research, I learned that databases cannot store lists.
您可以尝试使用以下方法:
在图像 url 之间添加分隔符。使用
string Image {get;set;}
存储图片 url,值如下:“image1url,image2url,etc”(使用,
作为分隔符)。你可以考虑使用String.Join Method.新建Imagetable存放Image信息(包含ID,Name,Urls),然后配置Maintable和Maintable一对多关系图像模型。在 Main 模型中,使用导航 属性 添加图像。代码如下:
public class Main { public int Id { get; set; } public string Name { get; set; } public List<Image> Images { get; set; } } public class Image { public int Id { get; set; } public string Name { get; set; } public string Url { get; set; } }
有关实体关系的更多详细信息,请参阅:
Configuring One To Many Relationships in Entity Framework Core