【问题标题】:Foreign Key asp.net core with postgress带有 postgres 的外键 asp.net 核心
【发布时间】:2021-11-09 16:47:31
【问题描述】:

我有这个文件上传表单

@model FileUploadViewModel
@{
    ViewData["Title"] = "Index";

}
<h4>Start Uploading Files Here</h4>
<hr />
@if (ViewBag.Message != null)
{
    <div class="alert alert-success alert-dismissible" style="margin-top:20px">
        @ViewBag.Message
    </div>
}
<form enctype="multipart/form-data" asp-controller="files" asp-action="UploadToFileSystem" method="post">
    <div class="form-group row">
        <label asp-for="Name" class="col-sm-2 col-form-label"></label>
        <div class="col-sm-10">
            <input asp-for="Name" class="form-control" placeholder="name" />
            <span asp-validation-for="Name" class="text-danger"></span>

        </div>
    </div>
    <div class="form-group row">
        <label asp-for="Author" class="col-sm-2 col-form-label"></label>
        <div class="col-sm-10">
            <input asp-for="Author" class="form-control" placeholder="Author" />
            <span asp-validation-for="Author" class="text-danger"></span>

        </div>
    </div>
    <div class="form-group row">
        <label asp-for="Genre" class="col-sm-2 col-form-label"> </label>
        <div class="col-sm-10">
            <select asp-for="Genre" class="custom-select mr-sm-2" asp-items="Html.GetEnumSelectList<Genres>()" ></select>
        </div>
    </div>
    <div class="form-group row">
        <label asp-for="Description" class="col-sm-2 col-form-label"></label>
        <div class="col-sm-10">
            <input asp-for="Description" class="form-control" placeholder="Description" />
            <span asp-validation-for="Description" class="text-danger"></span>

        </div>
    </div>
    <div class="form-group row " >
        <label asp-for="PublishedOn" class="col-sm-2 col-form-label"></label>
        <div class="col-sm-10">
            <input type="date" asp-for="PublishedOn" class="form-control" placeholder="Publishing Date" />
            <span asp-validation-for="PublishedOn" class="text-danger"></span>

        </div>
    </div>

    <div class="form-group row">
        <label asp-for="Files" class="col-sm-2 col-form-label"></label>
        <div class="col-sm-10">
            <div class="custom-file">
                <input asp-for="Files" multiple type="file" class="form-control custom-file-input" placeholder="file" />
                <label class="custom-file-label">Chose File...</label>
                <span asp-validation-for="Files" class="text-danger"></span>
            </div>

        </div>
    </div>
    <button class="btn btn-success" type="submit" asp-action="UploadToFileSystem" asp-controller="Files">Upload</button>
</form>

@section Scripts{ 
<script>
    $(document).ready(function () {
        $('.custom-file-input').on("change", function () {
            var fileLabel = $(this).next('.custom-file-label');
            var files = $(this)[0].files;
            if (files.length > 1) {
                fileLabel.html(files.length + 'files selected');
            }
            else if (files.length == 1) {
                fileLabel.html(files[0].name);
            }
        });
    });
</script>
   
}

我想用 postgresql 数据库中的这个表制作下拉列表

FileTypes table in pgadmin

我在数据库中有这个流派表

Genres table in pgadmin

因此,如果我在第一个下拉列表中选择 ID=1 的 FileType,在第二个下拉列表中我只想显示 FileTypeID=1 的流派,我尝试手动填写流派表,但我有错误(将在下面发布) .这种方式或过滤流派下拉列表的其他方式的任何帮助取决于在第一个下拉列表中选择的文件类型。Error trying to fill rows in Genre table

【问题讨论】:

    标签: c# postgresql asp.net-core model-view-controller html.dropdownlistfor


    【解决方案1】:

    基于该错误,您没有创建外键,而是在 Genre 表中的该列上创建了唯一索引。我相信默认情况下,它们为索引添加 IX 前缀,为外键添加 FK 前缀。检查您的表关系并检查 IX_genres_FileTypesID,我很确定您会发现关系不存在。

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 1970-01-01
      • 2017-08-01
      • 2017-07-17
      • 2018-10-05
      • 2021-06-28
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      相关资源
      最近更新 更多