0
현재 WPF 응용 프로그램을 만들고 있으며 mongo 데이터베이스를 추가 할 준비가되었지만 최선의 프로세스를 찾을 수없는 것 같습니다. 지금 내가 그렇게처럼 그 일을하고있다 :도메인 클래스를 설정하는 적절한 방법은 무엇입니까?
MongoManagment.cs :
namespace MoneyManagment
{
class MongoManagment
{
public void Connect()
{
String connectionString = "mongodb://localhost";
MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase("MoneyManagment"); //Connect to the database
MongoCollection<Users> _users = database.GetCollection<Users>("user"); // "user" is the collection name, "Users" is the domain class
}
}
public class Users
{
public ObjectId _id { get; set; }
public string username { get; set; }
}
}
는 내가 MainWindow.xaml.cs를 도메인 클래스에서 데이터를 액세스하려고 :
namespace MoneyManagment
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
foreach (Users user in _users.FindAll())
{
//do something with users data here
}
}
}
그리고 여기서 VS가 _users
에 액세스 할 수 없다는 오류가 발생합니다. 어느 정도 이해가되지만, 문제는 해결할 수있는 여러 가지 방법을 시도했지만 실제로 작동하지 않습니다. 이것에 대해 더 좋은 방법. 어떤 아이디어?
실제로 '_users' 변수를 어디에서 인스턴스화 했습니까? 일반적으로 _로 시작하는 변수는 개인용이며 전체 응용 프로그램 스택에서 액세스 할 수 없다는 것을 나타냅니다. 두 경우 모두, 예제의'MainWindow' 클래스는 변수에 대한 참조를 보유하지 않습니다. – Claies
@AndrewCounts 오른쪽, 그렇지 않습니다. 내가 그것을 참조하는 다른 방법을 시도하고 아무도 일한 적이 없으므로 무엇을하려고하는 것보다 이것에 대해 갈 수있는 더 좋은 방법이 있습니까? 그것은 보통 어떻게 이루어 집니까? 메신저와 C#에 새로운 ... – Halter
당신의 선언은 C# 용어로 전혀 이해가되지 않습니다. 당신이 보여주는 것은'MongoManagement' 클래스의'Connect' 함수의 범위에서 선언되었지만 전혀 다른 클래스로부터 접근하려고하는'_users' 변수입니다. http://msdn.microsoft.com/en-us/library/ms973875.aspx에서 변수 및 범위 (이전 기사, 주로 VB이지만 개념은 유효 함)와 관련하여 읽어보십시오. – Claies