Не создаётся БД CodeFirst EntityFramework

160
22 августа 2021, 06:30

Есть сущность GuestResponse

public int GuestResponseIdId { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public bool? WillAttend { get; set; }
public DateTime RData { get; set; }
public virtual List<Report> Reports { get; set; }

Есть сущность Report

public int ReportId { get; set; }
public string NameReport { get; set; }
public string Annotation { get; set; }
public GuestResponse GuestRes { get; set; }

Есть ResponseRepository

 private static ResponseRepository repository = new ResponseRepository();
private List<GuestResponse> responses = new List<GuestResponse>();
public static ResponseRepository GetRepository()
{
    return repository;
}
public IEnumerable<GuestResponse> GetAllResponses()
{
    return responses;
}
public void AddResponse(GuestResponse response)
{
    responses.Add(response);
}

Создан контекст:

public SampleContext():base("SeminarBD")
{
}
public DbSet<GuestResponse> GuestResponses { get; set; }
public DbSet<Report> Reports { get; set; }

Строка подключения:

<connectionStrings>
<add name="SeminarBD" connectionString="data source=PC-9991-002518;
     Initial Catalog=RSVP.SeminarBD.mdf;
     Integrated Security=True;"
     providerName="System.Data.SqlClient" />

Логика:

if (IsPostBack)
    {
        Page.Validate();
        if (!Page.IsValid)
        {
            return;
        }
        GuestResponse rsvp = new GuestResponse(name.Text, email.Text, phone.Text, CheckBoxYN.Checked);
        ResponseRepository.GetRepository().AddResponse(rsvp);
        if (CheckBoxYN.Checked)
        {
            Report report1 = new Report(TextBoxTitle.Text, TextBoxTextAnnot.Text);
            rsvp.Reports.Add(report1);
        }
        if (TextBoxTitle2.Text != "" || TextBoxTextAnnot2.Text != "")
        {
            Report report2 = new Report(TextBoxTitle2.Text, TextBoxTextAnnot2.Text);
            rsvp.Reports.Add(report2);
        }
        try
        {
            SampleContext context = new SampleContext();
            context.GuestResponses.Add(rsvp);
            context.SaveChanges();
        }
        catch (Exception ex)
        {
            Response.Redirect("Ошибка "+ex.Message);
        }
        if (rsvp.WillAttend.HasValue && rsvp.WillAttend.Value)
        {
            Response.Redirect("seeyouthere.html");
        }
        else
        {
            Response.Redirect("sorryyoucantcome.html");
        }
    }

Всё это ради такой вот формы регистрации:

В итоге всех этих потуг в режиме отладки в блоке try система останавливается на

context.GuestResponses.Add(rsvp);

в попытке создать БД и добавить запись, после перескакивает в блок catch и выдаёт ошибку:

Я предполагаю, что дело в connectionstring. Пробовал много вариантов, в том числе и

<add name="SeminarBD" connectionString="data source=(localdb)\MSSQLLocalDB;Initial Catalog=RSVP.SeminarBD.mdf;Integrated Security=True;" providerName="System.Data.SqlClient" />

но результат один и тот же.

Почему не создаётся БД ? В чём ошибка ?

READ ALSO
Ошибка: попытка деления на ноль

Ошибка: попытка деления на ноль

Я пытаюсь присвоить переменной типа double математическое выражение, которое в свою очередь тоже состоит из переменных

174
Как добавить программу в автозапуск?

Как добавить программу в автозапуск?

Написал небольшую утилиту для закрытия ненужных процессов винды при старте (Sirena, Очередь печати и тд)

199
перегрузка оператора деления

перегрузка оператора деления

как реализовать перегрузку оператора деления (частного)Если можно пример

229
ошибка при создании мода на Unity

ошибка при создании мода на Unity

Assets/Editor/ContentToolcs(44,4): error CS0103: The name `EditorAssetBundleHelper' does not exist in the current context ошибка в 44 строке, я не совсем опытный, по этому не могу решить проблему...

162