0
私は "db.Persons.Add()"を呼び出すときに、私はwindowformapplicationでエンティティフレームワークを使用しています。エラーになります:エラー:NBTSol.Models.ContactDbContext.Personsが保護レベルのためにアクセスできない - #
エラー:NBTSol.Models.ContactDbContext.Personsは、 も、すべてが公開され、その保護レベルにアクセスできない、その後
なぜですか?
人モデル:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NBTSol.Models
{
public class Person
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long PersonId { get; set; }
[Required(ErrorMessage = "First Name is Required")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is Required")]
public string LastName { get; set; }
[Required(ErrorMessage = "Email is Required")]
public string Email { get; set; }
[Required(ErrorMessage = "Gender is Required")]
public string Gender { get; set; }
[Required(ErrorMessage = "Address is Required")]
public string Address { get; set; }
[Required(ErrorMessage = "City is Required")]
public string City { get; set; }
[Required(ErrorMessage = "State is Required")]
public string State { get; set; }
[Required(ErrorMessage = "PostalCode is Required")]
public string PostalCode { get; set; }
[Required(ErrorMessage = "Country is Required")]
public string Country { get; set; }
[Required(ErrorMessage = "Contact Number is Required")]
public string ContactNumber { get; set; }
[Required(ErrorMessage = "CNIC is Required")]
public string CNIC { get; set; }
public string OrganizationName { get; set; }
public string Designation { get; set; }
public string Salary { get; set; }
public string Description { get; set; }
public Nullable<bool> IsClient { get; set; }
public DateTime EntryDateTime { get; set; }
public Nullable<bool> IsDeleted { get; set; }
}
}
私のコンテキストクラス:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NBTSol.Models
{
public class ContactDbContext :DbContext
{
public ContactDbContext() : base("name=DefaultConnection") { }
DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Configure domain classes using Fluent API here
base.OnModelCreating(modelBuilder);
}
}
}
メインフォーム:[i "はdb.Persons.Addを()" を呼び出すしようとすると、ここでエラーです]
using NBTSol.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NBTSol
{
public partial class Main : Form
{
public Main()
{
InitializeComponent();
}
private void Main_Load(object sender, EventArgs e)
{
ContactDbContext db = new ContactDbContext();
Person person = new Person();
db.Persons.Add(person);
}
}
}
ありがとう – mubsher
を。 – Zeeshan
別の問題があります。私のモデルをPersonとして宣言し、DbContextクラスのPersonに複数の行を追加します。ただし、データベースにPeopleテーブルを作成していますがPersonを作成するのではなく、列はモデルでデカールされたものと同じです – mubsher