Mysql Connector/NET Developer Guide Abstract

Total Page:16

File Type:pdf, Size:1020Kb

Mysql Connector/NET Developer Guide Abstract MySQL Connector/NET Developer Guide Abstract This manual describes how to install and configure MySQL Connector/NET, the connector that enables .NET applications to communicate with MySQL servers, and how to use it to develop database applications. For notes detailing the changes in each release of Connector/NET, see MySQL Connector/NET Release Notes. For legal information, including licensing information, see the Preface and Legal Notices. For help with using MySQL, please visit the MySQL Forums, where you can discuss your issues with other MySQL users. Document generated on: 2021-09-24 (revision: 70892) Table of Contents Preface and Legal Notices .................................................................................................................. v 1 Introduction to MySQL Connector/NET ............................................................................................. 1 2 Connector/NET Versions ................................................................................................................. 3 3 Connector/NET Installation .............................................................................................................. 7 3.1 Installing Connector/NET on Windows ................................................................................... 7 3.1.1 Installing Connector/NET Using MySQL Installer ......................................................... 7 3.1.2 Installing Connector/NET Using the Standalone Installer .............................................. 7 3.1.3 Installing Connector/NET Using NuGet ....................................................................... 8 3.2 Installing Connector/NET on Unix with Mono ....................................................................... 10 3.3 Installing Connector/NET from Source ................................................................................. 10 4 Connector/NET Connections .......................................................................................................... 13 4.1 Creating a Connector/NET Connection String ...................................................................... 13 4.2 Managing a Connection Pool in Connector/NET ................................................................... 16 4.3 Handling Connection Errors ................................................................................................ 17 4.4 Connector/NET Authentication ............................................................................................. 18 4.5 Connector/NET 8.0 Connection Options Reference .............................................................. 20 5 Connector/NET Programming ........................................................................................................ 35 5.1 Using GetSchema on a Connection ..................................................................................... 36 5.2 Using MySqlCommand ....................................................................................................... 38 5.3 Using Connector/NET with Table Caching ........................................................................... 41 5.4 Preparing Statements in Connector/NET .............................................................................. 41 5.5 Creating and Calling Stored Procedures .............................................................................. 42 5.6 Handling BLOB Data With Connector/NET ........................................................................... 46 5.6.1 Preparing the MySQL Server ................................................................................... 47 5.6.2 Writing a File to the Database .................................................................................. 47 5.6.3 Reading a BLOB from the Database to a File on Disk ............................................... 49 5.7 Working with Partial Trust / Medium Trust ............................................................................ 51 5.7.1 Evolution of Partial Trust Support Across Connector/NET Versions ............................. 51 5.7.2 Configuring Partial Trust with Connector/NET Library Installed in GAC ........................ 51 5.7.3 Configuring Partial Trust with Connector/NET Library Not Installed in GAC .................. 53 5.8 Writing a Custom Authentication Plugin ............................................................................... 54 5.9 Using the Connector/NET Interceptor Classes ..................................................................... 57 5.10 Handling Date and Time Information in Connector/NET ...................................................... 59 5.10.1 Fractional Seconds ................................................................................................ 59 5.10.2 Problems when Using Invalid Dates ........................................................................ 59 5.10.3 Restricting Invalid Dates ......................................................................................... 60 5.10.4 Handling Invalid Dates ........................................................................................... 60 5.10.5 Handling NULL Dates ............................................................................................ 60 5.11 Using the MySqlBulkLoader Class ..................................................................................... 61 5.12 Using the Connector/NET Trace Source Object .................................................................. 62 5.12.1 Viewing MySQL Trace Information .......................................................................... 63 5.12.2 Building Custom Listeners ...................................................................................... 66 5.13 Using Connector/NET with Crystal Reports ........................................................................ 67 5.13.1 Creating a Data Source .......................................................................................... 67 5.13.2 Creating the Report ................................................................................................ 69 5.13.3 Displaying the Report ............................................................................................. 69 5.14 Asynchronous Methods ..................................................................................................... 72 5.15 Binary and Nonbinary Issues ............................................................................................. 79 5.16 Character Set Considerations for Connector/NET ............................................................... 79 6 Connector/NET Tutorials ................................................................................................................ 81 6.1 Tutorial: An Introduction to Connector/NET Programming ..................................................... 81 iii MySQL Connector/NET Developer Guide 6.1.1 The MySqlConnection Object ................................................................................... 81 6.1.2 The MySqlCommand Object ..................................................................................... 82 6.1.3 Working with Decoupled Data .................................................................................. 85 6.1.4 Working with Parameters ......................................................................................... 88 6.1.5 Working with Stored Procedures ............................................................................... 89 6.2 ASP.NET Provider Model and Tutorials ............................................................................... 91 6.2.1 Tutorial: Connector/NET ASP.NET Membership and Role Provider ............................. 93 6.2.2 Tutorial: Connector/NET ASP.NET Profile Provider .................................................... 96 6.2.3 Tutorial: Web Parts Personalization Provider ............................................................. 99 6.2.4 Tutorial: Simple Membership Web Provider ............................................................. 103 6.3 Tutorial: Using an Entity Framework Entity as a Windows Forms Data Source ...................... 108 6.4 Tutorial: Data Binding in ASP.NET Using LINQ on Entities .................................................. 116 6.5 Tutorial: Generating MySQL DDL from an Entity Framework Model ..................................... 119 6.6 Tutorial: Basic CRUD Operations with Connector/NET ........................................................ 120 6.7 Tutorial: Configuring SSL with Connector/NET ................................................................... 123 6.7.1 Using PEM Certificates in Connector/NET ............................................................... 124 6.7.2 Using PFX Certificates in Connector/NET ................................................................ 124 6.8 Tutorial: Using MySqlScript ............................................................................................... 126 7 Connector/NET for Entity Framework ........................................................................................... 131 7.1 Entity Framework 6 Support .............................................................................................. 131 7.2 Entity Framework Core Support ......................................................................................... 137 7.2.1 Creating a Database with Code First in EF Core ..................................................... 139 7.2.2 Scaffolding an Existing Database
Recommended publications
  • C# Programming
    Course 419 C# Programming G419/CN/E.1/609/D.1 © LEARNING TREE INTERNATIONAL, INC. All rights reserved. All trademarked product and company names are the property of their respective trademark holders. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, or translated into any language, without the prior written permission of the publisher. Copying software used in this course is prohibited without the express permission of Learning Tree International, Inc. Making unauthorized copies of such software violates federal copyright law, which includes both civil and criminal penalties. Introduction and Overview Course Objectives In this course, we will discuss the syntax and semantics of C# as • An object-oriented language ◦ Using encapsulation, inheritance, interfaces, realization, polymorphism, associations, and aggregates • A component-oriented language focusing on reuse via the .NET Framework Library, including ◦ Desktop graphical and web-based user interfaces ◦ Enabling cross-language operation ◦ Performing I/O using serial streams and serialization ◦ Interfacing to legacy COM components • A data-oriented language ◦ Using LINQ and the Entity Framework COM = component object model I/O = input/output LINQ = Language Integrated Query © Learning Tree International, Inc. All rights reserved. Not to be reproduced without prior written consent. Intro-2 Course Contents Introduction and Overview Chapter 1 Overview and Development Environment Chapter 2 From Your Language to C# Chapter 3 User Interface Development Chapter 4 Defining User-Written Data Types Chapter 5 The .NET Framework Chapter 6 Interfaces and Polymorphism Chapter 7 Writing .NET Components Chapter 8 Accessing Databases Chapter 9 Other C# Features Chapter 10 Course Summary Next Steps © Learning Tree International, Inc.
    [Show full text]
  • Perl DBI API Reference
    H Perl DBI API Reference This appendix describes the Perl DBI application programming interface. The API consists of a set of methods and attributes for communicating with database servers and accessing databases from Perl scripts. The appendix also describes MySQL-specific extensions to DBI provided by DBD::mysql, the MySQL database driver. I assume here a minimum version of DBI 1.50, although most of the material applies to earlier versions as well. DBI 1.50 requires at least Perl 5.6.0 (with 5.6.1 preferred). As of DBI 1.611, the minimum Perl version is 5.8.1. I also assume a minimum version of DBD::mysql 4.00. To determine your versions of DBI and DBD::mysql (assuming that they are installed), run this program: #!/usr/bin/perl # dbi-version.pl - display DBI and DBD::mysql versions use DBI; print "DBI::VERSION: $DBI::VERSION\n"; use DBD::mysql; print "DBD::mysql::VERSION: $DBD::mysql::VERSION\n"; If you need to install the DBI software, see Appendix A , “Software Required to Use This Book.” Some DBI methods and attributes are not discussed here, either because they do not apply to MySQL or because they are experimental methods that may change as they are developed or may even be dropped. Some MySQL-specific DBD methods are not discussed because they are obsolete. For more information about new or obsolete methods, see the DBI or DBD::mysql documentation, available at http://dbi.perl.org or by running the following commands: % perldoc DBI % perldoc DBI::FAQ % perldoc DBD::mysql The examples in this appendix are only brief code fragments.
    [Show full text]
  • Accessing DB from Programming Languages
    Accessing DB from programming languages JDBCJDBC andand ODBCODBC • API (application-program interface) for a program to interact with a database server • Application makes calls to – Connect with the database server – Send SQL commands to the database server – Fetch tuples of result one-by-one into program variables • ODBC (Open Database Connectivity) works with C, C++, C#, and Visual Basic – Other API’s such as ADO.NET sit on top of ODBC • JDBC (Java Database Connectivity) works with Java JDBCJDBC • JDBC is a Java API for communicating with database systems supporting SQL. • JDBC supports a variety of features for querying and updating data, and for retrieving query results. • JDBC also supports metadata retrieval, such as querying about relations present in the database and the names and types of relation attributes. • Model for communicating with the database: – Open a connection – Create a “statement” object – Execute queries using the Statement object to send queries and fetch results – Exception mechanism to handle errors JDBCJDBC CodeCode public static void JDBCexample(String dbid, String userid, String passwd) { try { Class.forName ("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@db.yale.edu:2000:univdb", userid, passwd); Statement stmt = conn.createStatement(); … Do Actual Work …. stmt.close(); conn.close(); } catch (SQLException sqle) { System.out.println("SQLException : " + sqle); } } JDBCJDBC CodeCode (Cont.)(Cont.) • Update to database try { stmt.executeUpdate( "insert
    [Show full text]
  • ASP.NET MVC with Entity Framework and CSS
    ASP.NET MVC with Entity Framework and CSS Lee Naylor ASP.NET MVC with Entity Framework and CSS Lee Naylor Newton-le-Willows, Merseyside United Kingdom ISBN-13 (pbk): 978-1-4842-2136-5 ISBN-13 (electronic): 978-1-4842-2137-2 DOI 10.1007/978-1-4842-2137-2 Library of Congress Control Number: 2016952810 Copyright © 2016 by Lee Naylor This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Insert Query in Java Using Prepared Statement
    Insert Query In Java Using Prepared Statement Overriding Ike reflates impartially while Barton always triturates his oftenness interpages faithfully, he mistrusts so boyishly. Piet remains circumfluous after Wade locate definably or decentralised any definition. Zacherie is aristocratically large-minded after scrubbier Stillman break-outs his sexes sketchily. By allowing the standard access to create a prepared statements quickly delete data is registered list of query in using insert java prepared statement affecting the stored procedure Stmt db-prepareINSERT INTO foo firstname lastname email VALUES. All these source stuff and easily switch to understand your name in cleanup after the insert statement is part of user row can add to above tutorial in. Previously he spares his picture might require that counted the using insert query in java statement can be grouped in statement and respond to. An interest in case of data expected by the member, we check the program to advancing racial equity for using insert query that does it. To teach good coding world through this clause if it behave in prepared insert query statement in java using a later filled with technological advances. Java PreparedStatement javatpoint. When people prepare the statement Cassandra parses the folder string caches the result. To distress an INSERT statement against multiple rows the normal method is to commend a. Java JDBC Tutorial Inserting Data with User Input luv2code. Update PostgreSQL Record using Prepared Statement in Java. To insert a service in school table using PreparedStatement in Java you need not use below syntax to. The typical workflow of using a prepared statement is as follows.
    [Show full text]
  • The Following Documentation Is an Electronically‐ Submitted Vendor Response to an Advertised Solicitation from the West
    The following documentation is an electronically‐ submitted vendor response to an advertised solicitation from the West Virginia Purchasing Bulletin within the Vendor Self‐Service portal at wvOASIS.gov. As part of the State of West Virginia’s procurement process, and to maintain the transparency of the bid‐opening process, this documentation submitted online is publicly posted by the West Virginia Purchasing Division at WVPurchasing.gov with any other vendor responses to this solicitation submitted to the Purchasing Division in hard copy format. Purchasing Division State of West Virginia 2019 Washington Street East Solicitation Response Post Office Box 50130 Charleston, WV 25305-0130 Proc Folder : 702868 Solicitation Description : Addendum No 2 Supplemental Staffing for Microsoft Applicatio Proc Type : Central Contract - Fixed Amt Date issued Solicitation Closes Solicitation Response Version 2020-06-10 SR 1300 ESR06092000000007338 1 13:30:00 VENDOR VS0000020585 Cambay Consulting LLC Solicitation Number: CRFQ 1300 STO2000000002 Total Bid : $370,750.00 Response Date: 2020-06-09 Response Time: 09:51:40 Comments: FOR INFORMATION CONTACT THE BUYER Melissa Pettrey (304) 558-0094 [email protected] Signature on File FEIN # DATE All offers subject to all terms and conditions contained in this solicitation Page : 1 FORM ID : WV-PRC-SR-001 Line Comm Ln Desc Qty Unit Issue Unit Price Ln Total Or Contract Amount 1 Temporary information technology 2000.00000 HOUR $72.170000 $144,340.00 software developers Comm Code Manufacturer Specification
    [Show full text]
  • Automated Fix Generator for SQL Injection Attacks
    Automated Fix Generator for SQL Injection Attacks Fred Dysart and Mark Sherriff Department of Computer Science, University of Virginia, Charlottesville, VA 22903 {ftd4q, sherriff}@virginia.edu Abstract Thomas’s solution, any variable that defines a prepared A critical problem facing today’s internet community statement’s structure must be within the same scope as is the increasing number of attacks exploiting flaws the execution of that statement. Our solution does not found in Web applications. This paper specifically incur this limitation because the generation of the targets input validation vulnerabilities found in SQL prepared statement fix is not dependant on the actual queries that may lead to SQL Injection Attacks statement declaration in the code. (SQLIAs). We introduce a tool that automatically detects and suggests fixes to SQL queries that are found 3. SecurePHP to contain SQL Injection Vulnerabilities (SQLIVs). Our solution is called SecurePHP. It was written in Testing was performed against phpBB v2.0, an open C# and utilized the .NET framework. There were two source forum package, to determine the accuracy and main design decisions that guided us through efficacy of our software. development. First, we wanted the tool to be easy to use. While all applications should be simple for a user 1. Introduction to interact with, the reasoning behind our decision was According to the National Institute of Standards and that the increasing amount of SQLIVs present in Technology, SQL Injection Vulnerabilities (SQLIVs) software might be from legacy software that is not amounted 14% of the total Web application maintained by a developer with experience fixing vulnerabilities in 2006 [3].
    [Show full text]
  • TIBCO® Data Virtualization Client Interfaces Guide Version 7.0.6
    TIBCO® Data Virtualization Client Interfaces Guide Version 7.0.6 Last Updated: November 20, 2017 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO and the TIBCO logo are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries TIBCO, Two-Second Advantage, TIBCO Spotfire? TIBCO ActiveSpaces, TIBCO Spotfire Developer, TIBCO EMS, TIBCO Spotfire Automation Services, TIBCO Enterprise Runtime for R, TIBCO Spotfire Server, TIBCO Spotfire Web Player, TIBCO Spotfire Statistics Services, S-PLUS, and TIBCO Spotfire S+ are either registered trademarks or trademarks of TIBCO Software Inc.
    [Show full text]
  • Release 1.13 Kal Ahmed, Graham Moore
    BrightstarDB Documentation Release 1.13 Kal Ahmed, Graham Moore January 08, 2016 Contents 1 Getting Started 1 1.1 Architect.................................................1 1.2 Data....................................................1 1.3 Developer.................................................1 2 Concepts 3 2.1 Architecture...............................................3 2.2 Data Model................................................4 2.3 Storage Features.............................................5 2.4 Client APIs................................................5 2.5 Supported RDF Syntaxes........................................5 3 Why BrightstarDB? 7 3.1 An Associative Model..........................................7 3.2 Schema-less Data Store.........................................7 3.3 A Semantic Data Model.........................................7 3.4 Automatic Data caching.........................................8 3.5 Full Historical Capabilities........................................8 3.6 Developer Friendly Toolset.......................................8 3.7 Native .NET Semantic Web Database..................................8 3.8 RDF is great for powering Object Oriented solutions..........................8 4 Developing With BrightstarDB9 5 Developer Quick Start 11 5.1 Create New Project............................................ 11 5.2 Create the Model............................................. 12 5.3 Generating the Context and Classes................................... 13 5.4 Using the Context...........................................
    [Show full text]
  • 1. What Is .NET Framework?
    1. What is .NET Framework? The .NET Framework is the foundation on which you can design, develop, and deploy applications. t is the core of the .NET infrastructure. t e!ists as a layer "etween the .NET applications and the underlying operating system. The .NET Framework encapsulates much of the "asic functionality, such as de"ugging and security services, which was earlier "uilt into various programming languages. #. What does .NET Framework consists of? The .NET Framework consists of We" forms, Windows forms, and console applications that pertain to the presentation layer of an application. We" forms are used in We"$"ased applications, whereas Windows Forms are used in Windows$"ased applications for providing an interactive user interface. n addition, you can create character$"ased console applications that can "e e!ecuted from the command line. %esides these three components, the .NET Framework consists of two other components, the .NET Framework %ase &lasses and the &ommon Language (untime )&'(). +. Write a note on, a. -rogramming methodologies The .isual /tudio .NET programming methodology allows for mixed$ language programming. This is esta"lished through a &ommon Type /ystem )&T/) that is de0ned for all the languages that .NET Framework supports. 1ll these languages compile into an intermediate language "efore they compile in native code. Therefore, the .NET developer has the independence to code one module of an application in one language and the other module of the same application in another language. ". -latform technologies The .NET Framework includes platform technologies like 1DO.NET, 1/-.NET, and .%.NET. 1DO.NET allows .NET applications to communicate with a data"ase for retrieving, accessing, and updating data.
    [Show full text]
  • How to Use the Powerpoint Template
    Getting Started with Oracle and .NET Christian Shay Eric Courville Product Manager Senior Member of Technical Staff Oracle Verizon Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted Program Agenda 1 Oracle and Microsoft 2 Oracle and .NET – Getting Started 3 Oracle Developer Tools for Visual Studio 4 Oracle Data Provider for .NET 5 Additional Oracle .NET Features Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and Microsoft Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle’s Commitment to .NET ODP ODT & ODAC 64-bit ODAC ODAC ODAC ODAC ODAC ODAC 12c ODAC 12c .NET .NET SP 2006 ODAC 2008 2009 11.2 R2 11.2 R4 11.2 R5 R1 & R2 R3 & R4 2002-03 2005 2006 2007 2007-08 2009 2010 2011 2012 2013 2014-15 .NET VS .NET 2.0 & .NET .NET 3.5 & .NET 4 & EF .NET 4.5 & VS 2013 & VS 2015, 1.x 2003 VS 2005 3.0 VS 2008 VS 2010 VS 2012 Managed NuGet & EF Code First Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Relationship with Microsoft • Close collaboration with Microsoft Engineering teams Engineering • Access to pre-release Microsoft product drops • Visual Studio Industry Partner (VSIP) • Event sponsorship – MS Ignite and Worldwide Partner Marketing Conference • Joint training, road shows, collateral, etc. • Microsoft Premier Support Agreement Support • Collaboration of support teams Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and .NET Getting Started Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle .NET Development Environment Oracle Developer Tools Oracle Data Provider Oracle Providers for for Visual Studio for .NET ASP.NET App Development Deploy Visual .NET Studio Framework Deploy Database Web or Development Client/Server Oracle Database Extensions for .NET Copyright © 2015, Oracle and/or its affiliates.
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]