gcogco10 Ответов: 1

Как проверить свой crud, работает он или нет в SQL db?


Привет Друзья

Мое приложение MVC не выполняет никаких операций crud с базой данных и не знает, в чем может быть проблема, я еще не настроил свой файл Web.config для connectionString. Может быть, это и есть причина, у меня есть папка под названием _AppStart и я загрузил туда свой sql-запрос с таблицами, но он не делает ни того, ни другого, пожалуйста, помогите товарищам.

Что я уже пробовал:

// Controller.cs
// POST: /Account/Register
       [HttpPost]
       [AllowAnonymous]
       [ValidateAntiForgeryToken]
       public async Task<ActionResult> Register(RegisterViewModel model)
       {
           if (ModelState.IsValid)
           {
               var user = new ApplicationUser() { UserName = model.UserName };
               user.Email = model.Email;
               user.ConfirmedEmail = false;
               var result = await UserManager.CreateAsync(user, model.Password);
               if (result.Succeeded)
               {
                   System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage(
                       new System.Net.Mail.MailAddress("ggcobani@gmail.com", "Web Registration"),
                       new System.Net.Mail.MailAddress(user.Email));
                   m.Subject = "Email confirmation";
                   m.Body = string.Format("Dear {0}<BR/>Thank you for your registration, please click on the below link to complete your registration: <a href=\"{1}\" title=\"User Email Confirm\">{1}</a>", user.UserName, Url.Action("ConfirmEmail", "Account", new { Token = user.Id, Email = user.Email }, Request.Url.Scheme));
                   m.IsBodyHtml = true;
                   System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.mydomain.com");
                   smtp.Credentials = new System.Net.NetworkCredential("ggcobani@gmail.com", "password");
                   smtp.EnableSsl = true;
                   smtp.Send(m);
                   return RedirectToAction("Confirm", "Account", new { Email = user.Email });
               }
               else
               {
                   AddErrors(result);
               }
           }

           // If we got this far, something failed, redisplay form
           return View(model);
       }


// Модель.в CS
public class RegisterViewModel
   {
       [Required]
       [Display(Name = "User name")]
       public string UserName { get; set; }



       [Required]
       [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
       [DataType(DataType.Password)]
       [Display(Name = "Password")]
       public string Password { get; set; }



       [DataType(DataType.Password)]
       [Display(Name = "Confirm password")]
       [Compare("Password", ErrorMessage = "The password and confirmation do not match.")]
       public string ConfirmPassword { get; set; }

       [Required]
       [EmailAddress]
       [Display(Name = "Email")]
       public string Email { get; set; }

   }


//View.cshtml
@model ContentManagementSystem.Models.RegisterViewModel

@{
    ViewBag.Title = "Register";
}


<h2>@ViewBag.Title.</h2>

@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
    @Html.AntiForgeryToken()
    <h4>Create a new account.</h4>
    <hr />
    @Html.ValidationSummary()
    <div class="form-group">
        @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
        </div>
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.PasswordFor(m => m.Password, new { @class = "form-control" })
        </div>
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.ConfirmPassword, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control" })
        </div>
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" class="btn btn-info" value="Register" />
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

Richard MacCutchan

Я не вижу там никакого SQL-кода, он автоматически обрабатывается фреймворком?

gcogco10

Его обработал фреймворк, и теперь я получаю ошибку.

1 Ответов

Рейтинг:
2

MadMyche

Оригинальный Плакат:
Мое приложение MVC не выполняет никаких операций crud с базой данных и не знает, в чем может быть проблема
i have not configured yet my Web.config file so far for connectionString
Может быть, это и есть причина

Да. Строка подключения необходима для того, чтобы знать, к какому серверу и базе данных следует подключиться.

И либо ваше (контроллер) действие также должно будет иметь вызов для сохранения пользователь модель в БД через строку подключения


gcogco10

Есть ли какой-нибудь пример по умолчанию, у меня есть идея, но просто нужно быть уверенным.