В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.
При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.
Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».
Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this
. Возьмем этот пример:
public class Some {
private int id;
public int getId(){
return this.id;
}
public setId( int newId ) {
this.id = newId;
}
}
И в другом месте вашего кода:
Some reference = new Some(); // Point to a new object of type Some()
Some otherReference = null; // Initiallly this points to NULL
reference.setId( 1 ); // Execute setId method, now private var id is 1
System.out.println( reference.getId() ); // Prints 1 to the console
otherReference = reference // Now they both point to the only object.
reference = null; // "reference" now point to null.
// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );
// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...
Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference
и otherReference
оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.
В этом руководстве MySQL показано, как сгенерировать и использовать объекты EF в качестве источника данных для элемента управления.
MySQL размещает вебинар о EF через несколько дней... Посмотрите здесь: http://www.mysql.com/news-and-events/web-seminars/display-204.html
редактирование: , Что вебинар теперь в http://www.mysql.com/news-and-events/on-demand-webinars/display-od-204.html
Вам был бы нужен отображающийся поставщик для MySQL. Это - дополнительная вещь, Платформа Объекта должна заставить волшебство произойти. Этот блог переговоры о других поставщиках отображения помимо того Microsoft предоставляет. Я не нашел упоминаний MySQL.
Это не о MS и что они хотят. Они создали *открытая система для других сменным 'поставщикам' - пост-ГРЭС и sqlite имеют ее - mysql, просто отстает..., но, хорошие новости для тех заинтересовали, я также искал это и нашел, что Коннектор/Сеть MySql 6.0 будет иметь ее... можно проверить его здесь:
http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx
Проверьте мое сообщение на этот предмет.
Он был выпущен - Получите соединитель MySQL для .Net v6.5 - он поддерживает [Entity Framework]
Я ждал этого все время, хотя поддержка базовая, работает для большинства основных сценариев взаимодействия с базами данных. Он также имеет базовую интеграцию с Visual Studio.
ОБНОВЛЕНИЕ http://dev.mysql.com/downloads/connector/net/ Начиная с версии 6.7 Connector / Net больше не будет включать интеграцию MySQL для Visual Studio. Эта функция теперь доступна в отдельном продукте под названием MySQL для Visual Studio, доступном с помощью установщика MySQL для Windows (см. http://dev.mysql.com/tech-resources/articles/mysql-installer-for-windows. HTML ).
Винтана,
Конечно, сейчас кое-что готово. http://www.devart.com/products.html - это коммерческий вариант (у вас есть 30-дневная пробная версия IIRC). Они зарабатывают на жизнь писательскими провайдерами, так что я думаю, это должно быть быстро и стабильно. Я знаю действительно крупные компании, использующие своих поставщиков Oracle вместо Orace и MS.
Я не увидел здесь ссылку, но есть бета-версия .NET Connector для MySql. Нажмите "Development Releases", чтобы загрузить 6.3.2 beta, в которой есть интеграция EF4/VS2010:
http://dev.mysql.com/downloads/connector/net/5.0. html#downloads