Search Results

Search found 37875 results on 1515 pages for 'version space'.

Page 821/1515 | < Previous Page | 817 818 819 820 821 822 823 824 825 826 827 828  | Next Page >

  • As a programmer what single discovery has given you the greatest boost in productivity?

    - by ChrisInCambo
    This question has been inspired by my recent discovery/adoption of distributed version control. I started using it (mercurial) just because I liked the idea of still being able to make commits at times when I couldn't connect to the central server. I never expected it would give me a large boost in general productivity, but a pleasant side effect I discovered was that making a new clone every time I started a new task and giving that clone a descriptive folder name is extremely effective at keeping me on task resulting is a noticeable productivity increase. So as a programmer what single discovery has given you the greatest boost in productivity? Extra respect for answers which involve tools or practices that aren't so obvious from the outside!

    Read the article

  • JS framework with conditionally loaded fragments

    - by kjs3
    I'm doing a single-page, responsive, mobile first design. I found this article about conditionally loaded fragments but am wondering what the different js frameworks have build-in to handle this? I'm imagining the mobile version with a list view fragment that transitions to a show view fragment. A larger portal could just show both fragments and change the show fragment when items in the list are clicked. I'd love thoughts on what is available from the various frameworks, not an argument. Ember?, Angular?, etc. Maybe I'm missing it, but I'm not seeing the responsive fragments issue brought up in the various demos I've found so far.

    Read the article

  • Visual Studio Setup - why is solution explorer on the right?

    - by amelvin
    Every time I install VS (whichever version going back years) it installs with the Solution Explorer on the right. Now as most UIs have the navigation in a left hand column (and at the top of the viewport) and the content to the right of this navigation this always seems wrong to me. So I drag the solution explorer to the left of the screen and dock it there. But I've never seen another developer do this. Considering how most programmers usually like to customize their environment, adding their favourite text editor, browser, plug-ins, greasemonkey scripts etc why do Visual Studio developers never seem to make this simple UI change? Does anyone else do this or am I just screaming in the dark?

    Read the article

  • How can I upgrade from Ubuntu 9.10 to 11.10?

    - by Chinnu
    We need to program in CUDA 5.0 which can be installed only on ubuntu 11.10 or 12.04. Our current version, 9.10, is no longer supported, so we chose to proceed with a clean installation. Since we have a shared workstation, we used clonezilla for cloning the system. However, booting from the LiveCD showed an unexpected error. We also tried to install 11.10 in an external HDD by partitioning it, but Gparted could not be installed, and terminated with the error "installArchives() failed" which we couldn't solve even after modifying the sources.list. Is there a way to proceed with this upgrade?

    Read the article

  • The SQL Server ODBC Driver for Linux is Available!

    - by The Official Microsoft IIS Site
    The first beta release of the SQL Server ODBC Driver for Linux is available for download! As announced in October , the “Multiplatform Team” (a.k.a. the “MPlat Team”) has released a preview version of a driver that will provide first-class access to SQL Server from applications running on Linux operating systems. The team is looking for feedback on this release to incorporate into their production-ready release, so try it out and let us know what you think. Here are the important...(read more)

    Read the article

  • Rebooting yes, Shutdown no

    - by Chiotis Leonidas
    Hello everyone and thanks in advance. I am new in Ubuntu and have the 12.04 version dual boot with Windows XP. I have the following problem. The laptop can reboot using the reboot option from the menu but it cannot shut down. It starts shutting down, the dots appear but then it freezes and does not turn off. Sometimes it shuts down normally (usually just after an update) but then it loses that capability again. Some strange things, I noticed that when the dots freeze, the USB mouse loses power, BUT the usb-powered cooling pad continues to work The only Fn shortcuts that work all the time are the Volume up, down and mute, BUT sometimes when the other Fn combinations (screen-off etc) work the computer shuts down normally I searched a lot on my own, please help.

    Read the article

  • Multi language switch links translated or in current language?

    - by FFish
    Should I do: A: translate the language links in the current language: (if I am on the English version) <a href="en/">English</a> | <a href="it/">Italian</a> | <a href="fr/">French B: the links in the native languages: <a href="en/">English</a> | <a href="it/">Italiano</a> | <a href="fr/">Français</a> From a user perspective option B is obvious, but what about SEO?

    Read the article

  • Google map in MediaWiki not showing

    - by user67656
    I have upgraded MediaWiki from 1.9.3 to 1.16.1 in a new server. However, the google map is not showing in the link. It's a blank in that page but in the old server with old version it is working fine. I am not a developer so I have no clue on this. Please let me know anybody have any idea on this. you can have a look on the below links http://new.realchicago.org/wiki/index.php/Archer_Heights The first link in which the google map is missing.

    Read the article

  • How to install programs downloaded from the internet?

    - by Rosamunda Rosamunda
    I've downloadad the latest XAMPP file, to install it into Ubuntu 13.04. After downloading the file, I just can run it. I've double click it (and I've tried right click and clicking "open", whith the same result). All the answer I get is this message: Could not display “xampp-linux-1.8.3-1-installer.run”. There is no application installed for “executable” files. Do you want to search for an application to open this file? I've tried searching for an application, with no result... Also, I haven't found any questions related to this issue with the 13.04 Unity version... I've tried this solution, with no result. Please note that this isn't a Xampp question, the same happened to me when I tried to install Skype. UPDATE: I've tried this solution: cd ~/Downloads chmod +x myfile.run sudo sh myfile.run And I've got this error: Syntax error: "(" unexpected What should I do? Thanks!

    Read the article

  • Designing Snake AI

    - by Ronald
    I'm new to this gamedev stackechange but have used the math and cs sites before. So, I'm in a competition to create AI for a snake that will compete with 3 other snakes in 5 minute rounds where the rules are much like the traditional Nokia snake game except that there are 4 snakes, the board is 50x50 and there are a number of small obstacles on the field. Like the Nokia game, your snake grows when you get to the fruit and if you crash into yourself, another snake or the wall you die. The game runs with a 50ms delay between moves and the server sends the new game state every 50ms which the code must analyze and what not and output the next move. The winner is the snake who had the longest length at any point in the game. Tie breakers are decided by kills. So far what I have done is implemented an A* graph search from each snake to determine if my snake is the closest to the apple and if it is, it goes for the apple. Otherwise, I made a neat little algorithm to determine the emptiest area of the board, which my snake goes for, to anticipate the next apple. Other than this I have some small survivability checks to ensure my snake isn't walking into a trap that it can't get out and if it does get stuck, I have something to give it a better chance of getting out. ... Anyway, I've tested my snake on a test server and it does quite well. Generally, my strategy of only going for the apple when its a sure thing and finding space when its not makes it grow faster than any other snakes (some snakes do a similar thing but often just go to the middle or a corner) sometimes it wins these trial games but is more often than not beaten by the same snake who seems to have the edge on survivability(my snake grows quicker but then dies somehow and this other snake just plods slowly along and wins on consistency. So I was wondering about any ideas anyone has to try and improve my snake. Or maybe ideas at a new approach to take. My functions and classes are good so changes that might seem drastic shouldn't be too bad. I encourage all ideas. Any thoughts ??

    Read the article

  • La Preview de Windows 8.1 disponible dans quelques heures, le compte à rebours est enclenché

    Windows Blue la prochaine mise à jour majeure de Windows 8 ? Microsoft aurait adopté un cycle annuelÀ peine Windows 8 disponible que des rumeurs courent déjà sur son successeur.Selon un article du quotidien The Verge, se référant à des sources anonymes proches de Microsoft, la firme serait déjà en train de travailler sur Windows Blue, la prochaine version de son système d'exploitation.Décrit comme une mise à jour majeure pour Windows 8, l'OS serait disponible mi-2013, à un prix nettement inférieur, voire même gratuit. Cet OS mettra fin aux cycles longs des sorties de nouvelles versions de Windows et aux Services Pack, pour adopter un rythme de mises à jour annuelles tout comme Mac OS X ou encore...

    Read the article

  • OpenWorld Presentations and Anatomy of an RTF Template w/ files

    - by mdonohue
    For those who missed it ... or those who made it and couldn't get enough, check out the presentations delivered at OpenWorld: Overview and Roadmap The Reporting Platform for Oracle Applications Best Practices and even though it wasn't presented at OpenWorld an updated version of Anatomy of an RTF Template to include documented example files  (RTF template, Sub-Template and sample XML data) so you can re-use and play with the code directly.  Huge thanks to Tim and Hok-Min who did all the hard, original work on this example loaded with tips and tricks.  

    Read the article

  • Is there a formal name for gradually activating software changes?

    - by g .
    At times when we develop new features or functionality, we gradually "turn it on" to ensure a smooth transition and minimal impact for users. Instead of one big sudden change, we are able to control with the configuration aspects of the functionality that make it more or less intrusive to the user. This is all done in the same release/version of the software, so no software development changes are required (unless bugs turn up that need to be fixed). For example, initially we may only perform logging or analysis of data without acting upon it. Or we make something optional for a period of time before it becomes compulsory. The idea is that this reduces the potential for problems either on the technical side as well as unexpected changes by the user. The question is, is there a formal name for this approach?

    Read the article

  • Kinect pour PC bientôt disponible ? Microsoft prépare une variante de son capteur pour ordinateur

    Kinect pour PC bientôt disponible ? Microsoft prépare une variante de son capteur pour ordinateur Microsoft va développer une variante de son capteur de mouvement Kinect, spécifiquement pour les PC. Cette version s'appuie sur le dispositif Kinect pour la Xbox 360 avec des optimisations de certains composants matériels, et des ajustements du firmware pour une prise en charge des PC. Le dispositif offrira les caractéristiques et fonctionnalités sur Windows du capteur dont les développeurs et les consommateurs ont besoin. La caméra de profondeur sera capable de voir des objets d'aussi près de 50 centimètres sans perte de précision, et soutiendra un mode « proche » pour les applicatio...

    Read the article

  • Launch Specific OEPE Workspace from the Start Menu

    - by user647124
    I frequently have multiple Eclipse-based projects running simultaneously, sometimes on different versions of Eclipse. I have made a mess of a few workspaces by accidentally opening them in the wrong version of Eclipse. To thwart my own forgetfulness, I went seeking a way to launch directly to a workspace and found it at http://stackoverflow.com/questions/209789/starting-eclipse-w-specific-workspace. Essentially, add the -data switch to your icon's open command, such as: C:\eclipse\eclipse.exe -data E:\MyData\Clients\Confidential\EclipseGCDPGive it a unique name and stick it on your Start Menu (C:\ProgramData\Microsoft\Windows\Start Menu). Makes my life a bit easier and hopefully yours, too.

    Read the article

  • Utilisez-vous le framework Web JBoss Seam destiné à simplifier le développement d'applications Web ? Partagez votre expérience

    L'équipe Java vous propose un débat concernant le framework Web JBoss Seam. Ce framework, disponible depuis début 2005 et proposé par Gaving King le créateur d'Hibernate, veut simplifier le développement d'applications Web. Pour cela Seam se base sur les standards EJB3 et JSF proposés par Java EE et se focalise à réduire la complexité de ces différentes briques (voir article Présentation globale de Seam pour les principes de base). Aujourd'hui Seam atteint la version 3 et offre de nombreuses avancées pour simplifier le développement Web. En parallèle, de nombreux framework Web ont déjà su s'...

    Read the article

  • Melhoria de Performance no .NET 4.5: Multicore Just-in-Time (JIT).

    - by anobre
    Olá pessoal! Dando uma lida nas melhorias de performance da plataforma .NET 4.5, me deparei com algo extremamente interessante: Multicore Just-in-Time (JIT). A teoria é muito simples: por que não utilizar vários núcleos para a compilação JIT? Além disto, será que seria possível compilar os métodos em uma determinada ordem, onde os primeiros fossem aqueles com maior probabilidade de execução? Isto parece meio loucura mas é o que o Multicore Just-in-Time (JIT) faz. E o melhor de tudo, de uma forma extremamente simples. As aplicações ASP.NET 4.5 já o fazem por default. Em outras ocasiões, basta executar duas linhas de código: uma indicando a pasta onde o arquivo que armazenará o profile ficará, e a outra para iniciar o procedimento. Este profile é o arquivo responsável por armazenar a ordem de compilação dos métodos, para que aqueles com maior chance de serem executados mais cedo sejam compilados antes. Código para este processo: ProfileOptimization.SetProfileRoot(@"C:\ProfileRoot"); ProfileOptimization.StartProfile("profile"); .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Esta otimização na compilação só será notada após a criação do profile. Portanto, na primeira vez nada será percebido. Ao final do processo, um arquivo com o nome escolhido (no caso profile) será criado, na pasta indicada como root: Fica a dica! Abraços!

    Read the article

  • Typescript - A free add-on for Visual Studio 2012

    - by TATWORTH
    At http://www.microsoft.com/en-us/download/details.aspx?id=34790, Microsoft are providing a free add-on for Visual Studio. If you have any version of Visual Studio 2012, it provides an editor for Typescript."TypeScript is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to clean, readable, standards-based JavaScript. Try it out at http://www.typescriptlang.org/playground."I look forward to type-safe JavaScript!There is a tutorial for it at http://www.typescriptlang.org/tutorial/

    Read the article

  • How can I install the Play! framework using typesafe-stack? [migrated]

    - by lhk
    I'd like to create a new project with the Play! framework. My system is Mint 12 64bit. Since the newest version of Play! is already bundled with the typesafe-stack, I thought installation would be easy. I added the typesafe repo, then I apt-get updated and apt-get installed typesafe-stack with the command g8 typesafehub/play-scala. I successfully created a new project in my home folder. Now the problems begin: I don't know how to access Play! with this installation. After creating the project, I tried to convert it into an Eclipse project, it but there's no play command available in the terminal. How can I get a "standard" Play! installation on Linux? What happens to the tools bundled in the typesafe stack - Where do they go?

    Read the article

  • Exiting a reboot loop

    - by user12617035
    If you're in a situation where the system is panic'ing during boot, you can use # boot net -s to regain control of your system. In my case, I'd added some diagnostic code to a (PCI) driver (that is used to boot the root filesystem). There was a bug in the driver, and each time during boot, the bug occurred, and so caused the system to panic: ... 000000000180b950 genunix:vfs_mountroot+60 (800, 200, 0, 185d400, 1883000, 18aec00) %l0-3: 0000000000001770 0000000000000640 0000000001814000 00000000000008fc %l4-7: 0000000001833c00 00000000018b1000 0000000000000600 0000000000000200 000000000180ba10 genunix:main+98 (18141a0, 1013800, 18362c0, 18ab800, 180e000, 1814000) %l0-3: 0000000070002000 0000000000000001 000000000180c000 000000000180e000 %l4-7: 0000000000000001 0000000001074800 0000000000000060 0000000000000000 skipping system dump - no dump device configured rebooting... If you're logged in via the console, you can send a BREAK sequence in order to gain control of the firmware's (OBP's) prompt. Enter Ctrl-Shift-[ in order to get the TELNET prompt. Once telnet has control, enter this: telnet> send brk You'll be presented with OBP's prompt: ok You then enter the following in order to boot into single-user mode via the network: ok boot net -s Note that booting from the network under Solaris will implicitly cause the system to be INSTALLED with whatever software had last been configured to be installed. However, we are using boot net -s as a "handle" with which to get at the Solaris prompt. Once at that prompt, we can perform actions as root that will let us back out our buggy driver (ok... MY buggy driver :-)) ...and replace it with the original, non-buggy driver. Entering the boot command caused the following output, as well as left us at the Solaris prompt (in single-user-mode): Sun Blade 1500, No Keyboard Copyright 1998-2004 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.16.4, 1024 MB memory installed, Serial #53463393. Ethernet address 0:3:ba:2f:c9:61, Host ID: 832fc961. Rebooting with command: boot net -s Boot device: /pci@1f,700000/network@2 File and args: -s 1000 Mbps FDX Link up Timeout waiting for ARP/RARP packet Timeout waiting for ARP/RARP packet 4000 1000 Mbps FDX Link up Requesting Internet address for 0:3:ba:2f:c9:61 SunOS Release 5.10 Version Generic_118833-17 64-bit Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Booting to milestone "milestone/single-user:default". Configuring devices. Using RPC Bootparams for network configuration information. Attempting to configure interface bge0... Configured interface bge0 Requesting System Maintenance Mode SINGLE USER MODE # Our goal is to now move to the directory containing the buggy driver and replace it with the original driver (that we had saved away before ever loading our buggy driver! :-) However, since we booted from the network, the root filesystem ("/") is NOT mounted on one of our local disks. It is mounted on an NFS filesystem exported by our install server. To verify this, enter the following command: # mount | head -1 / on my-server:/export/install/media/s10u2/solarisdvd.s10s_u2dvd/latest/Solaris_10/Tools/Boot remote/read/write/setuid/devices/dev=4ac0001 on Wed Dec 31 16:00:00 1969 As a result, we have to create a temporary mount point and then mount the local disk onto that mount point: # mkdir /tmp/mnt # mount /dev/dsk/c0t0d0s0 /tmp/mnt Note that your system will not necessarily have had its root filesystem on "c0t0d0s0". This is something that you should also have recorded before you ever loaded your.. er... "my" buggy driver! :-) One can find the local disk mounted under the root filesystem by entering: # df -k / Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 76703839 4035535 71901266 6% / To continue with our example, we can now move to the directory of buggy-driver in order to replace it with the original driver. Note that /tmp/mnt is prefixed to the path of where we'd "normally" find the driver: # cd /tmp/mnt/platform/sun4u/kernel/drv/sparcv9 # ls -l pci\* -rw-r--r-- 1 root root 288504 Dec 6 15:38 pcisch -rw-r--r-- 1 root root 288504 Dec 6 15:38 pcisch.aar -rwxr-xr-x 1 root sys 211616 Jun 8 2006 pcisch.orig # cp -p pcisch.orig pcisch We can now synchronize any in-memory filesystem data structures with those on disk... and then reboot. The system will then boot correctly... as expected: # sync;sync # reboot syncing file systems... done Sun Blade 1500, No Keyboard Copyright 1998-2004 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.16.4, 1024 MB memory installed, Serial #xxxxxxxx. Ethernet address 0:3:ba:2f:c9:61, Host ID: yyyyyyyy. Rebooting with command: boot Boot device: /pci@1e,600000/ide@d/disk@0,0:a File and args: SunOS Release 5.10 Version Generic_118833-17 64-bit Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: my-host NIS domain name is my-campus.Central.Sun.COM my-host console login: ...so that's how it's done! Of course, the easier way is to never write a buggy-driver... but.. then.. we all "have an eraser on the end of each of our pencils"... don't we ? :-) "...thank you... and good night..."

    Read the article

  • Issue with text in a Intel 82945G Express Chipset Family

    - by user34681
    I am on Ubuntu 11.04 and the text in all the applications often looks with visual artifacts. I have installed xserver-xorg-video-intel. Attached a image so you can appreciate. lshw -c video output: *-display description: VGA compatible controller product: 82945G/GZ Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 02 width: 32 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:16 memory:dfe00000-dfe7ffff ioport:8800(size=8) memory:e0000000-efffffff memory:dfe80000-dfebffff In the text selected in green you can see the 'Online', 'File' and 'hassle' words cut.

    Read the article

  • wireless not showing up in network manager applet.

    - by Vidur Vishnudutt
    there is only the wired connection option available when the menu drops down. i have installed a belkin wireless g card for my desktop. it has been used before on this version of ubuntu 10.10, but after upgrading it shows only wired networks. enable networking and enable notifications have both been ticked. still only wired networks coming. im using ubuntu 10.10 maverick meerkat on my desktop comp and im an absolute begginer at ubuntu. can some one please help me re enable wireless on my comp?

    Read the article

  • Should I fork for a major re-write that uses a small amount of the original code?

    - by It'sNotALie.
    I'm writing a library. It's a completely rewritten version of another one, to suit my needs (PCL compatibility, mainly). However, the API will be completely rewritten, as I'll need to change a lot of stuff around for PCL compliance. Also, as it is a rewrite, I won't be able to just start from the library and just change it bit by bit, as I typically see with forks. I tried that, but it just didn't work. So what should I do? Should I fork here or should I make a new library?

    Read the article

  • Oracle rend payant Solaris dont les nouveautés ne seront plus implémentées dans OpenSolaris : fin d

    Mise à jour du 31/03/10 Oracle rend Solaris payant Les nouveautés de l'OS ne seront plus implémentées dans OpenSolaris : vers la fin du système libre de Sun ? Solaris n'est plus gratuit. L'OS de Sun, fondé sur UNIX, est très répandue sur le marché des serveurs. Depuis le rachat de la société par Oracle, l'OS avait été rebaptisé OS Oracle Solaris. Cette fois-ci le changement est un peu plus profond puisque ce sont les conditions d'utilisations du système qui changent radicalement. OS Oracle Solaris est disponible en version d'évaluation gratuite pendant 90 jours puis l'adhésion à un contrat de support technique devient obligatoi...

    Read the article

  • Local LINQtoSQL Database For Your Windows Phone 7 Application

    - by Tim Murphy
    There aren’t many applications that are of value without having some for of data store.  In Windows Phone development we have a few options.  You can store text directly to isolated storage.  You can also use a number of third party libraries to create or mimic databases in isolated storage.  With Mango we gained the ability to have a native .NET database approach which uses LINQ to SQL.  In this article I will try to bring together the components needed to implement this last type of data store and fill in some of the blanks that I think other articles have left out. Defining A Database The first things you are going to need to do is define classes that represent your tables and a data context class that is used as the overall database definition.  The table class consists of column definitions as you would expect.  They can have relationships and constraints as with any relational DBMS.  Below is an example of a table definition. First you will need to add some assembly references to the code file. using System.ComponentModel;using System.Data.Linq;using System.Data.Linq.Mapping; You can then add the table class and its associated columns.  It needs to implement INotifyPropertyChanged and INotifyPropertyChanging.  Each level of the class needs to be decorated with the attribute appropriate for that part of the definition.  Where the class represents the table the properties represent the columns.  In this example you will see that the column is marked as a primary key and not nullable with a an auto generated value. You will also notice that the in the column property’s set method It uses the NotifyPropertyChanging and NotifyPropertyChanged methods in order to make sure that the proper events are fired. [Table]public class MyTable: INotifyPropertyChanged, INotifyPropertyChanging{ public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName) { if(PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangingEventHandler PropertyChanging; private void NotifyPropertyChanging(string propertyName) { if(PropertyChanging != null) { PropertyChanging(this, new PropertyChangingEventArgs(propertyName)); } } private int _TableKey; [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int TableKey { get { return _TableKey; } set { NotifyPropertyChanging("TableKey"); _TableKey = value; NotifyPropertyChanged("TableKey"); } } The last part of the database definition that needs to be created is the data context.  This is a simple class that takes an isolated storage location connection string its constructor and then instantiates tables as public properties. public class MyDataContext: DataContext{ public MyDataContext(string connectionString): base(connectionString) { MyRecords = this.GetTable<MyTable>(); } public Table<MyTable> MyRecords;} Creating A New Database Instance Now that we have a database definition it is time to create an instance of the data context within our Windows Phone app.  When your app fires up it should check if the database already exists and create an instance if it does not.  I would suggest that this be part of the constructor of your ViewModel. db = new MyDataContext(connectionString);if(!db.DatabaseExists()){ db.CreateDatabase();} The next thing you have to know is how the connection string for isolated storage should be constructed.  The main sticking point I have found is that the database cannot be created unless the file mode is read/write.  You may have different connection strings but the initial one needs to be similar to the following. string connString = "Data Source = 'isostore:/MyApp.sdf'; File Mode = read write"; Using you database Now that you have done all the up front work it is time to put the database to use.  To make your life a little easier and keep proper separation between your view and your viewmodel you should add a couple of methods to the viewmodel.  These will do the CRUD work of your application.  What you will notice is that the SubmitChanges method is the secret sauce in all of the methods that change data. private myDataContext myDb;private ObservableCollection<MyTable> _viewRecords;public ObservableCollection<MyTable> ViewRecords{ get { return _viewRecords; } set { _viewRecords = value; NotifyPropertyChanged("ViewRecords"); }}public void LoadMedstarDbData(){ var tempItems = from MyTable myRecord in myDb.LocalScans select myRecord; ViewRecords = new ObservableCollection<MyTable>(tempItems);}public void SaveChangesToDb(){ myDb.SubmitChanges();}public void AddMyTableItem(MyTable newScan){ myDb.LocalScans.InsertOnSubmit(newScan); myDb.SubmitChanges();}public void DeleteMyTableItem(MyTable newScan){ myDb.LocalScans.DeleteOnSubmit(newScan); myDb.SubmitChanges();} Updating existing database What happens when you need to change the structure of your database?  Unfortunately you have to add code to your application that checks the version of the database which over time will create some pollution in your codes base.  On the other hand it does give you control of the update.  In this example you will see the DatabaseSchemaUpdater in action.  Assuming we added a “Notes” field to the MyTable structure, the following code will check if the database is the latest version and add the field if it isn’t. if(!myDb.DatabaseExists()){ myDb.CreateDatabase();}else{ DatabaseSchemaUpdater dbUdater = myDb.CreateDatabaseSchemaUpdater(); if(dbUdater.DatabaseSchemaVersion < 2) { dbUdater.AddColumn<MyTable>("Notes"); dbUdater.DatabaseSchemaVersion = 2; dbUdater.Execute(); }} Summary This approach does take a fairly large amount of work, but I think the end product is robust and very native for .NET developers.  It turns out to be worth the investment. del.icio.us Tags: Windows Phone,Windows Phone 7,LINQ to SQL,LINQ,Database,Isolated Storage

    Read the article

< Previous Page | 817 818 819 820 821 822 823 824 825 826 827 828  | Next Page >